单击矩形时如何触发事件

时间:2016-07-08 19:16:48

标签: vb.net visual-studio

我正在尝试在vb.net中制作游戏并成功地从2D矩阵对象数组中绘制游戏板。我想知道是否已经点击了一个矩形,所以我想知道是否有人知道如何设置在单击矩形时运行的事件。

1 个答案:

答案 0 :(得分:2)

  1. 捕捉绘制矩形的对象(面板,表格,图片框)的点击事件。
  2. 检查鼠标指针位置并确定您的任何矩形是否落在该位置
  3. 现在根据不同的标准执行操作。
  4. 例如,只需创建一个新项目并添加以下代码。

        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
    
相关问题