-1
我在下面寫了一個vb.net中的子文件,它在菜單項被點擊時調用。我怎樣才能以編程方式調用這個子。如何以編程的方式觸發vb.net中的菜單項單擊事件
Private Sub SetNewToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SetNewToolStripMenuItem.Click
End Sub
我在下面寫了一個vb.net中的子文件,它在菜單項被點擊時調用。我怎樣才能以編程方式調用這個子。如何以編程的方式觸發vb.net中的菜單項單擊事件
Private Sub SetNewToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SetNewToolStripMenuItem.Click
End Sub
只是把你想做的東西放在另一個可以從任何地方調用的方法。
Private Sub SetNewToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SetNewToolStripMenuItem.Click
Foo()
End Sub
Private Sub Foo()
' do stuff in here
End Sub
Private Sub Bar()
Foo()
End Sub
但是,如果調用從一個非UI線程Foo()
要小心。如果可能的話,您可以考慮在需要時調用UI線程的調用。
Private Sub Foo()
If SetNewToolStripMenuItem.Owner.InvokeRequired Then
SetNewToolStripMenuItem.Owner.Invoke(New Action(AddressOf Foo))
Else
' do stuff in here
End If
End Sub
感謝您的回答。但是LarsTech提到了一個直接的電話來評論我的問題。 'SetNewToolStripMenuItem_Click(Nothing,EventArgs.Empty)' This works –
你的意思是你想使用[SetNewToolStringMenuItem.PerformClick()](https://msdn.microsoft.com/en-us/library/system.windows.forms.menuitem.performclick(V = VS。 110).aspx) – Bugs
創建一個方法來做任何你想做的事(不做任何事),然後直接調用它並從那個方法中調用它。活動是爲了獲得用戶的輸入。 – Plutonix
'SetNewToolStripMenuItem_Click(Nothing,EventArgs.Empty)' – LarsTech