我正在尝试在vb.net中制作游戏并成功地从2D矩阵对象数组中绘制游戏板。我想知道是否已经点击了一个矩形,所以我想知道是否有人知道如何设置在单击矩形时运行的事件。
答案 0 :(得分:2)
例如,只需创建一个新项目并添加以下代码。
Dim r As Rectangle
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim p As New Panel
p.Dock = DockStyle.Fill
Me.Controls.Add(p)
AddHandler p.Paint, AddressOf p_Paint
AddHandler p.Click, AddressOf P_Click
End Sub
Private Sub p_Paint(sender As Object, e As PaintEventArgs)
Dim p As Panel = sender
Dim g As Graphics = Graphics.FromHwnd(p.Handle)
r = New Rectangle(New Point(10, 10), New Size(100, 100))
g.DrawRectangle(Pens.Black, r)
End Sub
Private Sub P_Click(sender As Object, e As EventArgs)
Dim p As Panel = sender
Dim po As Point = p.PointToClient(MousePosition)
Me.Text = po.X.ToString + "," + po.Y.ToString
If r.Contains(po) Then
MsgBox("Yup!")
End If
End Sub