2010-11-08 59 views

回答

11
button1_click(null, new EventArgs()); 
+4

並祈禱沒有使用'sender'參數。 – 2010-11-08 22:09:37

+1

如果你想使用發件人而不是簡單地把它放在null。 – cichy 2010-11-08 22:10:26

1

我有時做到這一點的實際調用的事件處理函數,那如果我真的付諸實施。
從字面上把它想:

button1_Click(this, new EventArgs()); 
2

從內部或Form其中Button在外面?最簡單的就是調用該功能:

Button1_Click(Button1, EventArgs.Empty); 
9

選項:使用PerformClick()

看看這裏:How to: Call a Button's Click Event Programmatically

這裏的優點是事件行爲與真正的按鈕點擊完全相同(如直接調用button1_click)。

但這些選項都不是最好的恕我直言。如果你需要調用事件處理程序的代碼,你需要一個新的方法!只需將舊的button1_click重構爲一種新的標準方法,並從任何你想要的地方調用它。

+1

+1:我一直認爲'PerformClick'比直接調用按鈕的處理程序更好,因爲框架比你需要知道的更好。它也解決了Ben Voigt關於「發件人」論點的評論。 – Powerlord 2010-11-08 22:18:09

+1

用於重構舊button1_click的+1,意義非常重大 – Spooks 2010-11-08 22:22:37

相關問題