een reactie op iets aanraken van picture box naar picturebox

Status
Niet open voor verdere reacties.

ido435

Gebruiker
Lid geworden
10 nov 2010
Berichten
674
hallo

ik ben zelf een spelletje aan het maken maar nu weet ik dus 1 code niet :(

ik wil graag als picturebox 1 picturebox 2 en 3 aan raakt dat er een reactie komt

hoe doe ik dat?


mvg ido
 
Je kan deze code gebruiken volgens mij:

[cpp]Public Class Form1
Dim Box1 As Boolean
Dim Box2 As Boolean
Dim Box3 As Boolean

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Box1 = False
Box2 = False
Box3 = False
End Sub

Private Sub PictureBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseEnter
Box1 = True
If Box1 = True And Box2 = True And Box3 = True Then
MsgBox("De actie komt dan hier...", MsgBoxStyle.Information, "Actie")
End If
End Sub

Private Sub PictureBox2_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox2.MouseEnter
Box2 = True
If Box1 = True And Box2 = True And Box3 = True Then
MsgBox("De actie komt dan hier...", MsgBoxStyle.Information, "Actie")
End If
End Sub

Private Sub PictureBox3_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox3.MouseEnter
Box3 = True
If Box1 = True And Box2 = True And Box3 = True Then
MsgBox("De actie komt dan hier...", MsgBoxStyle.Information, "Actie")
End If
End Sub
End Class[/cpp]

Of als je wilt dat dit steeds opnieuw gebeurt voeg je volgend stuk code in:

[cpp]Public Class Form1
Dim Box1 As Boolean
Dim Box2 As Boolean
Dim Box3 As Boolean

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Box1 = False
Box2 = False
Box3 = False
End Sub

Private Sub PictureBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseEnter
Box1 = True
If Box1 = True And Box2 = True And Box3 = True Then
MsgBox("De actie komt dan hier...", MsgBoxStyle.Information, "Actie")
Box1 = False
Box2 = False
Box3 = False
End If
End Sub

Private Sub PictureBox2_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox2.MouseEnter
Box2 = True
If Box1 = True And Box2 = True And Box3 = True Then
MsgBox("De actie komt dan hier...", MsgBoxStyle.Information, "Actie")
Box1 = False
Box2 = False
Box3 = False
End If
End Sub

Private Sub PictureBox3_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox3.MouseEnter
Box3 = True
If Box1 = True And Box2 = True And Box3 = True Then
MsgBox("De actie komt dan hier...", MsgBoxStyle.Information, "Actie")
Box1 = False
Box2 = False
Box3 = False
End If
End Sub
End Class[/cpp]

- link10001000
 
Laatst bewerkt:
Dus je hebt verschillende pictureboxen die bewegen, neem ik aan?
Dan kun je de locaties met elkaar vergelijken en controleren of ze elkaar overlappen.

Ik snap dan ook niet waarom er in bovenstaande post met MouseEnter-events wordt gewerkt.
 
Dus je hebt verschillende pictureboxen die bewegen, neem ik aan?
Dan kun je de locaties met elkaar vergelijken en controleren of ze elkaar overlappen.

Ik snap dan ook niet waarom er in bovenstaande post met MouseEnter-events wordt gewerkt.

ik snapte het ook al niet en kwam er ook niet uit XD

er moet een reactie van een picturebox naar een reactie naar een label dat die zichtbaar word
 
Je kunt zo controleren of de Label de PictureBox overlapt (uit de losse pols, dus evt. fouten voorbehouden :p )

[cpp]If (Lbl.Location.X >= Pb.Location.X) And _
(Lbl.Location.X <= (Pb.Location.X + Pb.Size.Width)) And _
(Lbl.Location.Y >= Pb.Location.Y) And _
(Lbl.Location.Y <= (Pb.Location.Y + Pb.Size.Height)) Then

''//Overlapping!
End If[/cpp]
 
er is ook een IntersectsWith method op rectangles

Code:
picture1.ClientRectangle.IntersectsWith(picture2.ClientRectangle)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan