2013-03-14 77 views
0

我在vb.net中动态创建一些按钮,但我无法创建单击事件处理程序。将事件添加到按钮阵列

这是我的代码:

dim b(10) 
dim x=0 
b(x) = New Button 
b(x).width = 100 
b(x).height = 25 
b(x).location = New Point(500, pos + 24) 
b(x).visible = True 
b(x).text = "Remove" 

AddHandler b(x).Click, AddressOf remove_click 

我收到以下错误,当我尝试编译 “点击”不是“对象”的事件。

Public Sub remove_click(sender As Object, e As EventArgs) 
' onclick code 
End Sub 

回答

2

的问题是,你永远不会对当地b因此它定义为Object阵列提供的类型。 Object类型没有Click事件,因此AddHandler失败。你需要把这个声明为Button

dim b(10) as Button 
0

你应该总是假定编译器是正确的数组,然后尝试发现意味着什么。它说'点击'不是'对象'的事件,所以你必须引用对象。点击,这意味着b(x)是一个对象,这意味着b是一个对象数组。你认为这是一个数组Button

所以,

Dim b(10) As Button