2012-08-15 77 views
1

我有以下代码: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,但我不确定这是否是我完成此操作的正确方法。有什么想法吗?

感谢

+0

该另一篇文章的技术看起来很好。 – 2012-08-15 18:50:20

回答

1

存根点击事件代码第一:

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

“发件人” 参数将是您添加的ToolStripMenuItem。

然后你的循环可以改成添加事件处理:

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

我改变“FinalData的(1)的ToString”只是“项”,因为这是你的循环变量。目前还不清楚finalData变量来自哪里或者与循环有什么关系。我也摆脱了AsEnumerable,因为holdAllDataFromFile已经是一个List(String)。

+0

太棒了,谢谢LarsTech! – Dayan 2012-08-15 20:11:18