我已經找到了關於這個主題的一些信息,但是我仍然不完全理解它,如果有人會告訴我如何在我的例子中做到這一點,我會很高興。如何使用/傳遞參數給事件處理程序?
基本上,我有填充有在VB.Net視窗對象的數組窗體應用程序
Dim button(9) As cbuttons
public sub fill()
button(1) = New cbuttons("buttonName1", 2, true)
button(2) = New cbuttons("ButtonName2", 3, true)
button(3) = New cbuttons("ButtonName3", 4, true)
...
此陣列用作按鈕,它們是動態生成的
public sub writeButtons()
For Each item As cbutton In button
Dim cmbDynamic As New Button()
cmbDynamic.Location = New System.Drawing.Point(item.getX(), item.getY())
cmbDynamic.Name = item.getname()
cmbDynamic.Text = item.getName() & vbCrLf & item.getTypeString()
TabPage1.Controls.Add(cmbDynamic)
AddHandler cmbDynamic.Click, AddressOf Me.clicked 'here is the problem
然後,源我有一個子應該這樣做這樣的
public sub clicked()
MessageBox.Show("You clicked on button " & ButtonName)
但是,我不知道如何將按鈕的名稱(或任何其他參數)傳遞給子點擊(),因爲我不能將任何參數添加到AddHalnder線和callByName()也不起作用
我正在尋找一個解決方案可能看起來像這樣在Javascript中指出:
onlick="clicked(this.id)"
謝謝
你真的幫了我很多,謝謝。即使認爲我現在不需要它,但我很好奇是否可以傳遞超過1個參數。 – Labe
@Labe我編輯了我的答案,看看它是否有幫助。 – Crono