2013-10-19 38 views
2

我有這個小片的代碼項目中:C# - 無過載的方法(採用0參數)

private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    button2_Click(); 
} 

private void button2_Click(object sender, EventArgs e) 
{ 
    x = 0; 
} 

現在,我想打電話給button2_Click方法,但我可以,因爲我沒有通過參數。

問題是,我不知道在調用方法時要傳遞什麼參數。

我應該通過什麼?

回答

-1

沒關係,我只是用:

button2_Click(sender, e) 

和它的工作。

+1

不冷靜你得到一個文本框作爲一個按鈕單擊事件發件人。這不是人們所期望的。更好地使用button.PerformClick() – Console

1

使用這樣

private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    button2_Click(this.button2,EventArgs.Empty); 
} 

private void button2_Click(object sender, EventArgs e) 
{ 
    x = 0; 
} 

只把它當作正常的參數。但不推薦使用它。最好的做法是提取button2_Click的身體,並調用提取method.the button2_Click應該總是支持觸發器由用戶Interface.for例如:

private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    method(); 
} 

private void button2_Click(object sender, EventArgs e) 
{ 
    method(); 
} 
public void method(){ 
    //x=0 or other 
    .... 
} 
相關問題