PULAR TEXTBOX COM AS SETAS DO TECLADO
Boa noite galera, estou precisando pular de um textbox para [txt-color=#e80000] FRENTE [/txt-color] ou [txt-color=#e80000] TRAZ [/txt-color] eu tenho 10 textbox em sequencia.
e preciso usar o eventos do teclado das SETAS para Frente [txt-color=#007100] Pular para o proximo textbox [/txt-color] e para TRAZ [txt-color=#e80000] volta para o textbox anterior [/txt-color]
estou usando esse codigo do Marcoratti. ele vai certinho porem.. tem q precionar 2 vezes se eu precionar 2 vezes ele faz certinho.. ai eu queria precionando apenas Uma vez.
vejam galera.
e nos textbox no evento KeyDown eu chamo a função.
alguem poderia da uma ideia para melhorar essa função.. precionando apenas uma vez a seta.
e preciso usar o eventos do teclado das SETAS para Frente [txt-color=#007100] Pular para o proximo textbox [/txt-color] e para TRAZ [txt-color=#e80000] volta para o textbox anterior [/txt-color]
estou usando esse codigo do Marcoratti. ele vai certinho porem.. tem q precionar 2 vezes se eu precionar 2 vezes ele faz certinho.. ai eu queria precionando apenas Uma vez.
vejam galera.
Private Sub MoverFoco(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode = Keys.Left Then
If Not Me.GetNextControl(sender, False) Is Nothing Then Me.GetNextControl(sender, False).Focus()
ElseIf e.KeyCode = Keys.Right Or e.KeyCode = Keys.Enter Then
If Not Me.GetNextControl(sender, True) Is Nothing Then Me.GetNextControl(sender, True).Focus()
End If
End Sub
e nos textbox no evento KeyDown eu chamo a função.
MoverFoco(sender, e)
alguem poderia da uma ideia para melhorar essa função.. precionando apenas uma vez a seta.
Private Sub frmAgenda_KeyPress(sender As Object, e As KeyPressEventArgs) Handles MyBase.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
e.Handled = True
SendKeys.Send([Ô]{TAB}[Ô])
End If
End Sub
o keypreview do form tem q estar ativado, no caso ai o enter faz o avanço, ai vc adapta...
Citação::
Private Sub frmAgenda_KeyPress(sender As Object, e As KeyPressEventArgs) Handles MyBase.KeyPress
If e.KeyChar = Convert.ToChar(13) Then
e.Handled = True
SendKeys.Send([Ô]{TAB}[Ô])
End If
End Sub
o keypreview do form tem q estar ativado, no caso ai o enter faz o avanço, ai vc adapta...
Opa Nickosoft, essa função do Enter eu ja tenho


Eu queria fazer o mesmo com as setas do teclado... pra <- ->
pular para frente ao preciona-lo ->
voltar para Traz so Preciona-lo <-
Você está fazendo a chamada no lugar errado. Faça a chamada do método MoverFoco() somente para o evento KeyDown do Form. Ou seja, não precisa fazer essa chamada dentro do evento de cada textbox. E outra coisa importante: Não se esqueça de habilitar o KeyPreview do form para True, senão não vai funcionar como o esperado.
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
MoverFoco(sender, e)
Sub
Citação::
Você está fazendo a chamada no lugar errado. Faça a chamada do método MoverFoco() somente para o evento KeyDown do Form. Ou seja, não precisa fazer essa chamada dentro do evento de cada textbox. E outra coisa importante: Não se esqueça de habilitar o KeyPreview do form para True, senão não vai funcionar como o esperado.
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown
MoverFoco(sender, e)
Sub
Vlw Jaba deu certo :)
Tópico encerrado , respostas não são mais permitidas