2017-04-11 111 views
-1

我在下面寫了一個vb.net中的子文件,它在菜單項被點擊時調用。我怎樣才能以編程方式調用這個子。如何以編程的方式觸發vb.net中的菜單項單擊事件

Private Sub SetNewToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SetNewToolStripMenuItem.Click 

End Sub 
+0

你的意思是你想使用[SetNewToolStringMenuItem.PerformClick()](https://msdn.microsoft.com/en-us/library/system.windows.forms.menuitem.performclick(V = VS。 110).aspx) – Bugs

+2

創建一個方法來做任何你想做的事(不做任何事),然後直接調用它並從那個方法中調用它。活動是爲了獲得用戶的輸入。 – Plutonix

+0

'SetNewToolStripMenuItem_Click(Nothing,EventArgs.Empty)' – LarsTech

回答

1

只是把你想做的東西放在另一個可以從任何地方調用的方法。

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 
+0

感謝您的回答。但是LarsTech提到了一個直接的電話來評論我的問題。 'SetNewToolStripMenuItem_Click(Nothing,EventArgs.Empty)' This works –

相關問題