kuroi Postado Março 24, 2006 Denunciar Share Postado Março 24, 2006 se eu tenho o evento: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click End Subse eu quiser chamar esse evento de outra sub, o q eu tenho q passar para os parametros sender e e? e porque? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 25, 2006 Denunciar Share Postado Março 25, 2006 Para o "sender" você deverá passar o objeto remetente (do Inglês, "sender") e para "e" um objeto que contém os argumentos de um evento.O porquê disso é que uma rotina deste tipo (que está associada a um evento) pode ser utilizada por mais de um controle. Se você tivesse dois botões (Button1 e Button2), poderia utilizar este mesma rotina para controle dos eventos Click de ambos (bastando incluir o evento Button2.Click após o Button1.Click do Handles):Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.ClickTanto se o botão 1 (Button1) ou o botão 2 (Button2) for clicado, a rotina chamada será a mesma acima. Como seria possível diferenciar se foi o botão 1 ou o botão 2 que a chamou? Aí entre em cena o "sender", que ou se referirá ao botão 1 ou ao botão 2.De qualquer maneira, se sua intenção é apenas efetuar um clique em um botão, basta chamar o método PerformClick() do mesmo:Button1.PerformClick()Certo? Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Março 25, 2006 Autor Denunciar Share Postado Março 25, 2006 entendi, então no clique de um botao, posso chamar automaticamente varias subs. Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 25, 2006 Denunciar Share Postado Março 25, 2006 entendi, então no clique de um botao, posso chamar automaticamente varias subs. Bem, não exatamente. Na verdade é o contrário, ou seja, os cliques de *vários botões* podem chamar *uma única sub*.Ok? Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Março 25, 2006 Autor Denunciar Share Postado Março 25, 2006 sim, mas isso q eu disse no outro post tb é verdadeiro.entendi, então no clique de um botao, posso chamar automaticamente varias subs.estava deduzindo isso com base no q você disse nesse e no outro tópico.porque eu tentei isso: Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Button1.Text = "ffsd" End Sub Private Sub Button1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox2.Text = TextBox2.Text & "X" End Sub e funcionou.ele alterou tanto o text do button1 quanto do textbox2 (veja tb q eu tirei o button1.gotocus da funcao Button1_GotFocus) Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 25, 2006 Denunciar Share Postado Março 25, 2006 Ah tá, sim, realmente. Eu achei que você tinha falado isso em relação ao que tratamos neste tópico (eu me lembro do outro, mas não tinha reparado que era você).Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Bittencourt Muniz Postado Março 26, 2006 Denunciar Share Postado Março 26, 2006 Private Sub A(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MessageBox.Show("A") End Sub Private Sub B(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MessageBox.Show("B") End Sub Private Sub C(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MessageBox.Show("C") End SubComo posso especificar a ordem de chamadas das Sub's?? (Já que o evento 'click' chama três procedimentos)Falows! Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 26, 2006 Denunciar Share Postado Março 26, 2006 Neste caso você deveria associar apenas a primeira sub ao evento e nela chamar as outras duas explicitamente: Private Sub A(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MessageBox.Show("A") B(sender, e) C(sender, e) End Sub Private Sub B(ByVal sender As System.Object, ByVal e As System.EventArgs) MessageBox.Show("B") End Sub Private Sub C(ByVal sender As System.Object, ByVal e As System.EventArgs) MessageBox.Show("C") End SubAbraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Bittencourt Muniz Postado Março 26, 2006 Denunciar Share Postado Março 26, 2006 Então não tem jeito de especificar uma ordem de chamada? (Como eu proponho no post) Falows! Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Março 26, 2006 Denunciar Share Postado Março 26, 2006 Então não tem jeito de especificar uma ordem de chamada? (Como eu proponho no post) Que eu saiba não. Até porque isso não é algo lá muito comum (usual) de se fazer, não acha?Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
kuroi
se eu tenho o evento:
se eu quiser chamar esse evento de outra sub, o q eu tenho q passar para os parametros sender e e? e porque?
Link para o comentário
Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados