ToolStrip Control,如何以编程方式访问click事件

时间:2012-08-15 18:46:38

标签: vb.net toolstrip

我有以下代码:

Private holdAllDataFromFile As New list(Of String)

holdAllDataFromFile =  ReadWrite.ReadAll(FILE_PATH) 'Uses custom class to read/write.

For Each item In holdAllDataFromFile.AsEnumerable 
    menuConnections.DropDownItems.Add(finalData(1).tostring ) 'save to menu
Next

在运行时,我希望能够点击这些菜单项并让它们响应事件,我不确定如何以编程方式访问它们,因为可能有1个,4个,10个不同的菜单项,所有有不同的名字。

我看着this post与我相似,但我不确定这是否是我完成此任务的正确方法。有什么想法吗?

由于

1 个答案:

答案 0 :(得分:1)

首先删除点击事件代码:

Private Sub DataFile_Click(ByVal sender As Object, ByVal e As EventArgs)
  MessageBox.Show("Clicked on " & DirectCast(sender, ToolStripMenuItem).Text)
End Sub

“sender”参数将是您添加的ToolStripMenuItem。

然后可以更改循环以添加事件处理程序:

For Each item In holdAllDataFromFile
  menuConnections.DropDownItems.Add(item, _
                                    Nothing, _
                                    AddressOk DataFile_Click)
Next

我将“finalData(1).tostring”更改为“item”,因为这是您的循环变量。目前还不清楚finalData变量来自何处或与循环有什么关系。我也摆脱了AsEnumerable,因为holdAllDataFromFile已经是一个List(String)。