HANDLES NO FINAL DE UMA FUNCAO

RODEOLIVEIRA 06/01/2011 15:58:12
#361405
Estou migrando do VB6 para o VB.Net (Visual Studio 2010) e percebo que ao criar uma função no final ele me sujere para colocar a opção Handles para que ela server???????

RODRIGOFERRO 06/01/2011 17:23:25
#361433
No Visual Basic 6 para poder utilizar o mesmo evento para uma coleção de componentes é usado o index, no VB.NET utilizamos o Handles, através dele podemos associar um evento a outros eventos, como é mostrado no exemplo abaixo.


Private Sub RadioButton1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Handles RadioButton1.CheckedChanged,RadioButton2.CheckedChanged
If DirectCast(sender, RadioButton).Name.Equals([Ô]RadioButton1[Ô]) Then
Me.Sexo = DefineSexo.Feminino
ElseIf DirectCast(sender,RadioButton).Name.Equals([Ô]RadioButton2[Ô]) Then
Me.Sexo = DefineSexo.Masculino
End If

End Sub



Na segunda linha através do Handles declaramos que o método RadioButton1.CheckedChanged seria chamado também quando o RadioButton2.CheckedChanged fosse selecionado, a associação do evento ao método chama-se Delegate, desta forma podemos usar o mesmo evento para tratar um ou mais eventos.

Sendo assim, poderemos usar os parâmetros que são passados pelo evento, o sender retorna o objeto enquanto o e retorna o argumento, desta forma apenas usa-se o DirectCast para transformar o Objeto no tipo desejado e tratá-lo com seu respectivo código , de uma forma simples e rápida.

Lembrando que este é apenas mais um dos diversos modos que o Handles poder ser utilizado.

Fonte: http://www.linhadecodigo.com.br/artigo/245/VBNETUsando-o-Handles.aspx

Abraços
JABA 06/01/2011 17:24:20
#361435
Serve como um ponteiro que apontar para um evento do controle.

EX:

Sub Botao_Click(ByVal sender as object, e as EventArgs) Handles btnOk.Click


end Sub

OBS: O [Ô]btnOk[Ô] após o Handle é o objeto(controle) e ele possue um evento CLICK em seu interior que é chamado pelo metodo Botao_Click .
Tópico encerrado , respostas não são mais permitidas