2009-05-03 77 views

回答

18

可以使用Button.PerformClick方法。

+3

+1。至於任何其他事件,Event結構專門設計用來使事件的所有者成爲能夠直接調用它的唯一對象。 Button類暴露了PerformClick以允許您模擬點擊,但並非所有事件都會有(出於正當理由)。 – 2009-05-03 15:51:47

+0

感謝好友... 這麼簡單,但....:D 你是一個救星...:D – 2009-05-03 16:14:27

2

您還可以查看Windows輔助功能或某些UI自動化框架,該框架允許您以編程方式導致UI控件響應用戶手勢。如果控件沒有提供像PerformClick那樣通過程序觸發事件的方式,則可以從該控件派生出來,並公開一個像PerformnXXX這樣的公共方法,這些方法在內部調用時會調用訂閱特定事件的事件處理程序。

12

也許該解決方案是簡單得多:

也許你真的不希望你的代碼,「點擊按鈕」。
你只是想運行窗體中另一個地方的按鈕背後的代碼?

如果是,請將代碼放入單獨的方法(如「DoActionXXX」)中,並從按鈕和其他任何您需要的方法調用該方法。

1

按鈕,點擊新我手動窗口 恩.. dital.cs打開窗口5

0

我不認爲發送點擊事件是從你一個設計點的最好辦法只是讓你的事件處理程序調用另一個功能。這樣你總是可以訪問該功能。

所以..

空隙一個MyEventHandler(ObjectwhoSentTheMessage O,事件E) {

MyOtherFunction();

//消耗,如果你想在活動結束後等

}