2012-08-15 79 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