proč požíváte Timer, proč to nevykreslujete přímo v události KeyDown? Ale problém bude hlavně v tom, jak už jste psal, že předává focus na tlačítka. Když použijete třeba W,A,S,D tak to fungovat bude, ale chápu že to není to chcete. To bude asi nová otázka do diskuse, jak zakázat ten focus takhle mi to přijde jednodušší
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.W Then
PictBox.CreateGraphics.FillRectangle(Brushes.White, x, y, 60, 35)
PictBox.CreateGraphics.DrawImage(ImageList1.Images(0), x, y - 35)
y -= 35
ElseIf e.KeyCode = Keys.S Then
PictBox.CreateGraphics.FillRectangle(Brushes.White, x, y, 60, 35)
PictBox.CreateGraphics.DrawImage(ImageList1.Images(0), x, y + 35)
y += 35
ElseIf e.KeyCode = Keys.A Then
PictBox.CreateGraphics.FillRectangle(Brushes.White, x, y, 60, 35)
PictBox.CreateGraphics.DrawImage(ImageList1.Images(0), x - 60, y)
x -= 60
ElseIf e.KeyCode = Keys.D Then
PictBox.CreateGraphics.FillRectangle(Brushes.White, x, y, 60, 35)
PictBox.CreateGraphics.DrawImage(ImageList1.Images(0), x + 60, y)
x += 60
End If
End Sub
a tlačítkem přepínejte Me.KeyPreview
Me.KeyPreview = Not Me.KeyPreview
|