ENVIAR KEYCODE PARA OUTRA FUNCAO

FERDEAD 14/10/2013 14:52:38
#430012
Olá Pessoal !

estou migrando meu sistema para vb.net, e me deparei com uma dificuldade que deve ser simples para quem sabe...

Tenho 1 textbox com a função:

Private Sub txtValor_KeyDown(sender As Object, e As KeyEventArgs) Handles txtValor.KeyDown
....
...
end sub

ai, eu queria disparar de outro função essa função do keydown enviando um keycode 13 (enter) ou outro qualquer...

no vb6, eu fazia assim.. txtValor_KeyDown 13
não consegui descobrir como faz no vb.net...

alguém pode me ajudar ?
obrigado!
PROGRAMADORVB6 14/10/2013 15:59:10
#430015
Assim ?
 Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = ControlChars.Cr Then
e.Handled = True
Me.TextBox2.Focus()
Me.TextBox2.SelectionStart = Len(Me.TextBox2.Text)
End If
End Sub
FERDEAD 14/10/2013 16:56:14
#430019
Citação:

:
Assim ?

 Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = ControlChars.Cr Then
e.Handled = True
Me.TextBox2.Focus()
Me.TextBox2.SelectionStart = Len(Me.TextBox2.Text)
End If
End Sub



não é isso... acho que não me expressei bem...

deixa eu tentar explicar melhor...
Eu preciso que o keycode seja enviado para a função keypress de outra função... por exemplo:

  
Private Sub txtCodBarras_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtCodBarras.KeyPress
Dim SQL As String = [Ô][Ô]
Dim sErro As String = [Ô][Ô]

If e.KeyChar = Convert.ToChar(Keys.Return) Then
e.Handled = True

[ô]Aqui vem o restante do código...
end if
end sub



Como vcs podem observar, ao pressionar o ENTER na caixa de texto ele vai fazer o procedimento que eu quero. Até aqui tudo certo!

O que eu preciso agora é chamar esta função dentro de OUTRA função...

  
Private sub Enviar()
txtcodbarras.text = [Ô]123[Ô]
[ô]é aqui que vem o problema... eu quero que a função seja executada, informando o [Ô]ENTER[Ô] como parametro do evento keypress...
txtcodbarras_keypress [Ô]sender[Ô], [Ô]ENTER[Ô]

[ô]No vb6 era simplesmente.. txtcodbarras_keypress 13
end sub



certo ?
como seria no vb.net agora ?
OCELOT 14/10/2013 17:14:17
#430020
Resposta escolhida
Por mais que existe como fazer isso não se deve fazer isso. O correto é você separar esse código que precisa ser chamado em outra sub e chamar ela tanto do keypress quando do outro código.

Por exemplo

Private Sub txtCodBarras_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtCodBarras.KeyPress
Dim SQL As String = [Ô][Ô]
Dim sErro As String = [Ô][Ô]

If e.KeyChar = Convert.ToChar(Keys.Return) Then
e.Handled = True
ProcessaCodigo()
end if
end sub

Private sub Enviar()
txtcodbarras.text = [Ô]123[Ô]
ProcessaCodigo()
end sub

Private Sub ProcessaCodigo()
[ô]Código que ficaria no event handler para quando o enter é pressionado vai aqui
End Sub
Tópico encerrado , respostas não são mais permitidas