Hej! Hos mig funkar detta: Jag har testat Henkoz förslag, men "e" är bara läsbart. Hej igen ,är inte bekant med Vb.net :s nya trix JAg kan tyvärr inte höra plinget hoss mig. Tror det kan bero på att jag inte har PC högtalaren inkoplad eller att jag kör XP. Det plingar fortfarande... Äntligen löste det sig!Entertryck i textruta
I mitt program har jag 2 st textboxar. När användaren trycker enter i den första skall det sättas focus på den andra. Jag har satt egenskapen AcceptReturn till true.
Har lyckas lösa det med koden här under.
<code>
Private Sub Textbox1_KeyDown(ByVal sender as Obejekt, ByVal e as något)
If e.KeyCode=vbKey.Return then
'Gör så att det inte plingar
Textbox1.Multiline=True
Textbox1.Multiline=False
Textbox2.Focus()
End if
End Sub
</code>
Problemet med denna lösning är att Textbox1 flimmrar till när man trycker enter.
Finns det någon som har någon bättre lösning eller någon idé hur man skall få bort flimmret?
/GetSv: Entertryck i textruta
<code>
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Return Then
SendKeys.Send("{Tab}")
End If
End Sub
</code>Sv: Entertryck i textruta
I SvenPons förslag är felet att KeyAscii inte är deklarerat.
I Andreas förslag finns "plinget" med.
Jag tackar för dom förslag som kommit in och hoppas på fler förslag.
/GetSv: Entertryck i textruta
Men testa
Private Sub Textbox1_KeyPress(ByVal Sender As Obejekt, ByVal e As Integer)
If e.KeyAscii = 13 Then
'Gör så att det inte plingar
Textbox2.Focus()
e.KeyAscii = 0
End if
End Sub
Hur ser Text1.KeyPress(.......??????) ut i .net ?
/SvenSv: Entertryck i textruta
Eftersom du inte kan ändra värdet i KeyDown, KeyUp, KeyPress eventen som i gamla VB. Föreslår jag att du säter AcceptsReturn = False, sätter KeyPreview = True för formuläret och hanterar det i Form_KeyDown:
<code>
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyCode = Keys.Return Then
If ActiveControl Is TextBox1 Then
SendKeys.Send("{Tab}")
ElseIf ActiveControl Is TextBox2 Then
SendKeys.Send("{Tab}")
End If
End If
End Sub
</code>Sv: Entertryck i textruta
Andreas> Jag kör också WinXP, så det är nog högtalarna det bror på.
/GetSv: Entertryck i textruta
<code>
Dim bEnter as Boolean
Private Sub Textbox1_KeyDown(ByVal sender, ByVal e)
If e.KeyCode = Keys.Return Then
Textbox.Focus()
bEnter = True
End If
End Sub
Private Sub Textbox1_KeyPress(ByVal sender, ByVal e)
If bEnter = True Then e.Handled = True
End Sub
</code>
Jag har lärt mig mycket med den här tråden. Tack alla för hjälpen!
/Get