0

我在大学学习 VB.Net,我试图找到一种方法来检查用户以 vb.net 形式单击的按钮。我目前遇到的问题是我有一个 10x10 按钮数组,在代码中动态创建。

 For x = 1 To 10
        For y = 1 To 10
            Me.Width = 720
            Me.Height = 720

            boxarray(counter) = New Button
            boxarray(counter).Name = "Box" & x
            boxarray(counter).Location = New Point(x * 48, y * 48)
            boxarray(counter).Width = Me.Width / 15
            boxarray(counter).Height = Me.Height / 15
            boxarray(counter).Visible = True
            boxarray(counter).Cursor = Cursors.Hand
            boxarray(counter).PerformClick()
            Me.Controls.Add(boxarray(counter))
            counter = counter + 1
           Next
        Next

但是我需要检查用户点击的按钮,而不需要为每个单独的按钮创建子程序,可以按下。

4

1 回答 1

4

首先添加一个Handler

例如

Private Sub ArrayButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
    ' Handle your Button clicks here
End Sub

然后将boxarray(counter).PerformClick()(模拟单击按钮)更改为

AddHandler boxarray(counter), AddressOf ArrayButton_Click

现在您的所有按钮都链接到一个处理程序。当然现在你需要知道哪个被点击了。将 tag 属性设置为 ((x - 1) * 10) + y - 1 是一种方法

然后你可以将 sender 转换为 Button。抓取标签并将其转换回处理程序中的 x 和 y

于 2013-06-19T22:05:24.953 回答