event voor vullen PictureBox

Status
Niet open voor verdere reacties.

evertVB

Gebruiker
Lid geworden
6 apr 2009
Berichten
570
:)
Ik heb een formulier met een PictureBox1.
Bij het opstarten van het programma moet een snake-spel worden getekend.

Welke event kan ik hiervoor gebruiken?

De event Activated van mijn Form1 werkt blijkbaar niet want ik zie geen snake achtergrond.
Code:
Public Class Form1

    Private Sub NewGameToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        MsgBox("Hello, Snakulator is under construction!")
        RePaint()
    End Sub

    Private Sub RePaint()
        Dim x As Integer
        Dim y As Integer
        PictureBox1.CreateGraphics.FillRectangle(Brushes.White, 0, 0, 640, 480)

        For x = 1 To 128
            For y = 1 To 96
                If x + y = 10 Then
                    PictureBox1.CreateGraphics.FillRectangle(Brushes.Black, 5 * (x - 1), 5 * (y - 1), 5, 5)
                End If
            Next y
        Next x
    End Sub


    Private Sub Form1_Activated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Activated
        RePaint()
    End Sub
End Class
 
Je moet je picturebox event 'Paint' gebruiken om dingen te tekenen.
Vanuit daar kan je dan ook andere subs aanroepen.

Code:
Public Class Form1

    Public Sub Repaint(ByVal g As Graphics)
        g.FillRectangle(Brushes.White, 0, 0, 100, 100)
    End Sub

    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
        Repaint(e.Graphics)
    End Sub

End Class

snap je?
 
Het opstarten gaat nu wel goed.

Ik ben nog niet zo ver, maar straks tijdens het spelverloop wil ik steeds opnieuw tekenen omdat de slang steeds voortbeweegt.
Wat geef ik dan mee als argument (g) aan RePaint?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan