2012-12-13 14 views
0

我有一個工作方法設置「點擊」的方法來執行馬上

something_Click(object sender, EventArgs e) 
{ 
    code 
} 
... 

當然它執行有人點擊的元素之後。我需要做的是,在元素出現在屏幕上後立即執行此方法(它是StripStatusLabel)。我試過只是把方法的調用添加到代碼的開頭,但它什麼也沒做。

回答

4

您可以在Form.Load事件處理函數的按鈕上調用Button.PerformClick

您可能還想考慮將該邏輯移入其自己的方法,並從按鈕處理程序和Load事件調用該方法,因爲這將更清晰。 (這顯然是你想要觸發的代碼,而不僅僅是「按鈕點擊」)。

2

取決於你定位的是什麼框架(WPF vs Winforms),你可能能夠處理Load事件。它在元素出現在屏幕上時觸發。

0

這不是最佳實踐,可以觸發通常來自用戶的表單事件。從某種意義上說,你試圖「僞造」點擊。想想未來的調試,或者可能繼承你的項目的同事。在檢查代碼時,您會希望something_Click僅在點擊「某事」時被解僱。

更好的解決方案是將「代碼」部分放入您的剪貼板中,該部分的名稱反映了它的真實含義。

他們你可能會在不同的地區開火這種方法。在任何地點點擊,在負載上點燃。

something_Click(object sender, EventArgs e) 
{ 
    DoStuff(); 
} 

OnAppearToScreen() 
{ 
    DoStuff(); 
} 

DoStuff() 
{ 
    //code that actually does stuff 
} 

後來,當你想檢查時的「東西」做你的對象,你可以很容易地通過代碼檢查出來。