我正在創建標簽來跟蹤打開的檔案。當我創建它們時,我可以設定它們的屬性并將它們添加到 MenuStrip 中的串列中。
在我這樣做之前,我想添加一個點擊事件函式。由于這是在一個函式中并且將運行多次,因此我需要一種動態的方式來添加這些事件處理程式。我不能這樣寫:
Private Sub ToolStripTextBox1_Click(sender As Object, e As EventArgs) Handles ToolStripTextBox1.Click
' ...
End Sub
如果我這樣做,我只能給他們一個名字。我希望能夠添加一個單獨應用于它們的點擊事件作為單獨的專案。
更新:
Dim textFile As ToolStripTextBox = New ToolStripTextBox("textFile")
FileList.Items.Add(textFile)
textFile.Text = filename
textFile.ReadOnly = True
textFile.BackColor = Color.FromArgb(61, 61, 61)
textFile.ForeColor = Color.White
這是創建和個性化代碼。雖然當你們建議AddButton_Click() Handles AddButton.Click它不起作用時,因為 AddButton 不是實際的按鈕
uj5u.com熱心網友回復:
您可以使用以下代碼跟蹤專案,添加添加和洗掉點擊處理程式
Private FileList As New List(Of ToolStripItem)()
' put this code where you add an item
Dim filename = "whatever"
Dim textFile As ToolStripTextBox = New ToolStripTextBox(filename)
textFile.Text = filename
textFile.ReadOnly = True
textFile.BackColor = Color.FromArgb(61, 61, 61)
textFile.ForeColor = Color.White
add(textFile)
Private Sub clickHandler(sender As Object, e As EventArgs)
Dim item = DirectCast(sender, ToolStripItem)
MessageBox.Show(item.Text)
End Sub
Private Sub add(textFile As ToolStripItem)
FileList.Add(textFile) ' Since I don't know what FileList is, I ued List
AddHandler textFile.Click, AddressOf clickHandler
OpenProjectToolStripMenuItem.DropDownItems.Add(textFile) ' add to whatever menu item you normally do
End Sub
Private Sub remove(textFile As ToolStripItem)
FileList.Remove(textFile)
RemoveHandler textFile.Click, AddressOf clickHandler
OpenProjectToolStripMenuItem.DropDownItems.Remove(textFile)
End Sub
uj5u.com熱心網友回復:
您的代碼中的示例點擊事件包括:
sender As Object
您可以重復使用這個事件處理程式,因為單擊的選單項將是sender. 所以你做這樣的事情:
Private Sub ToolStripTextBox1_Click(sender As Object, e As EventArgs) Handles ToolStripTextBox1.Click
Dim menuItem = DirectCast(sender, ToolStripMenuItem)
If menuItem Is Nothing Then Return
'If you need to choose different code for each item:
Select Case menuItem.name
Case "some item"
Case "some other item"
End Select
End Sub
您可以使用以下方法將動態工具條專案連接到此方法AddHandler:
AddHandler myMenuStrip.Click, AddressOf ToolSTripTextBox1_Click
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/473626.html
標籤:VB.net
