• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jaferreira

UserControl

6 mensagens neste tópico

Boas.

Criei um usercontrol e la dentro tenho 3 ComboBox e adiciono o usercontrolo ao form em questao e queria aceder aos metedos de selectedindexchange das combos apartir do form para poder tratar de filtros sempre que umda delas mude alguem me pode dizer qual a melhor maneira para fazer isto ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A forma que vejo é criares um evento no UserControl e fazer o raise dele em cada selectedindexchanged das combo.

Em C#, tens de criar um método para fazer o raise do evento.

ex:

        public event EventHandler teste;

        protected virtual void OnStart(EventArgs e)
        {
            if (this.teste != null)
            {
                this.teste(this, e);
            }
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            this.OnStart(new EventArgs());
        }

No lado da form que tiver o UserControl, capturas o evento criado.

Já agora, se quiseres capturar também os valores seleccionados das combos, cria propriedades.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A partir dai tens o evento no UserControl chamado teste disponível.

Sabes criar eventos?

Na janela das propriedades do UserControl, tens lá um raio, e fazes 2xclick no evento teste. O Visual Studio cria-te o métod de captura do evento. Pronto, a partir daí, já consegues saber quando é que alguma combo foi seleccionada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Public teste As EventHandler

    Public Overridable Sub OnStart(ByVal e As EventArgs)

Isto em Vb fica assim nao e' ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então não criaste o tópico para C#???

Em VB não precisas criar o método OnStart

Crias o evento:

Public Event teste As EventHandler

E fazes o raise dele dentro do evento da combo:

RaiseEvent teste (aqui envias o objecto e os argumentos de evento)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora