Form1.Keyup und Form1.KeyDown-Problem

PH234X

Mitglied
Hi.
Ich hab ein Problem bei diesem Code

Code:
Public Class Form1

    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        PictureBox1.Top = PictureBox1.Top + 1
    End Sub


    Private Sub Form1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp
        PictureBox1.Top = PictureBox1.Top - 1
    End Sub
End Class

Ich möchte, dass wennich die Pfeiltaste nach unten drücke, dass die Picturebox um 1 nach unten geht und wenn ich nach Oben drücke, die pb um eins nach Oben geht.

Nur leider bleibt sie, wenn ich die Pfeiltaste nach oben drücke auf der Stelle stehen.
Besser gesagt sie geht um eins Hoch und sofort um eins wider runter, was mache ich falsch?
 
Die Events KeyDown und KeyUp werden ausgelöst wenn irgendeine Taste gedrückt bzw. losgelassen wird.

Für das was du vorhast, brauchst nur das KeyUp Event abfragen, und dort über das KeyEventArgs Objekt prüfen, welche Taste gedrückt wurde.

Visual Basic:
    Public Sub Form1_KeyUp(ByVal sender As Object, ByVal e As KeyEventArgs)
        Select Case (e.Key)
            Case Keys.Up
                PictureBox1.Top = PictureBox1.Top - 1
            Case Keys.Down
                PictureBox1.Top = PictureBox1.Top + 1
        End Select
    End Sub

lg,..
 
Zurück