Hallo zusammen,
ich tüftel gerade ein wenig mit GDI+ in Visual Basic herum und versuche, auf Tastendruck ein Quadrat zu bewegen.
Zunächst zeichne ich das Quadrat. Wie empfohlen nutze ich das Paint-Event dazu. Dazu der Code:
Soweit, so gut. Nun möchte ich auf Tastendruck
Jetzt ist aber mein Problem, dass das Quadrat nicht neu gezeichnet wird, da das Paint-Event nicht erneut ausgelöst wird. Wie schaffe ich es, dies manuell zu tun oder auf anderem Wege den Sub
Danke schon einmal im Voraus
ich tüftel gerade ein wenig mit GDI+ in Visual Basic herum und versuche, auf Tastendruck ein Quadrat zu bewegen.
Zunächst zeichne ich das Quadrat. Wie empfohlen nutze ich das Paint-Event dazu. Dazu der Code:
VB.NET-Quellcode
- Dim gBrushChar As New SolidBrush(ColorTranslator.FromHtml("#7024a6"))
- Dim iLeft As Integer = 10
- Private Sub _Paint(ByVal sender As Object, ByVal e As PaintEventArgs) Handles Me.Paint
- With e.Graphics
- ' Increase the quality
- .SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
- .TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAlias
- .PixelOffsetMode = Drawing2D.PixelOffsetMode.HighQuality
- .InterpolationMode = Drawing2D.InterpolationMode.HighQualityBilinear
- .CompositingQuality = Drawing2D.CompositingQuality.HighQuality
- ' Draw
- .FillRectangle(gBrushChar, iLeft, 10, 100, 100)
- End With
- End Sub
Soweit, so gut. Nun möchte ich auf Tastendruck
iLeft
um einen Wert, zum Beispiel 50, erhöhen, um das Quadrat zu bewegen. Das Erhöhen ist kein Problem:Jetzt ist aber mein Problem, dass das Quadrat nicht neu gezeichnet wird, da das Paint-Event nicht erneut ausgelöst wird. Wie schaffe ich es, dies manuell zu tun oder auf anderem Wege den Sub
_Paint
auszuführen?Danke schon einmal im Voraus