1

我有以下代码:

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 个不同的菜单项,它们都有不同的名称.

我正在查看与我的类似的帖子,但我不确定这是否是我完成此任务的正确方法。有什么想法吗?

谢谢

4

1 回答 1

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(字符串)。

于 2012-08-15T19:57:45.513 回答