我嘗試將 3 個額外的 int 引數傳遞給 button1_Click 事件
private void button1_Click(object sender, EventArgs e, int Xaxis, int Yaxis, int Zaxis)
{
switch (Xaxis)
...
textBox1.Text = "Finished";
}
...
實作↓↓↓
...
public void Func1()
{
button1_Click(sender, e, 16, 5, 59) //Pass 16 5 59 to event button1_Click
//To perform a click event simulation with designated params
...
}
private void button2_Click(object sender, EventArgs e)
{
...
Func1();
}
但是 Form1.Designer.cs 有問題
this.button1.Click = new System.EventHandler(this.button1_Click);
//Compiler Error CS0123: No overload for 'method' matches delegate 'delegate'
如何將 3 個額外的 int 引數正確傳遞給 button1_Click 事件?
uj5u.com熱心網友回復:
我建議提取一個方法,讓我們將業務邏輯(axis例程)和UI(按鈕單擊事件處理)分開:
private void MyClick(Button button, int Xaxis, int Yaxis, int Zaxis) {
//TODO: All business logic here
switch (Xaxis)
...
textBox1.Text = "Finished";
}
然后使用它
// Just UI event handler
private void button1_Click(object sender, EventArgs e) {
//TODO: put right axis values here
MyClick(sender as Button, 0, 0, 0);
}
public void Func1()
{
MyClick(button1, 16, 5, 59); // Pass 16 5 59
//To perform a click event simulation with designated params
...
}
// Another UI event handler
private void button2_Click(object sender, EventArgs e)
{
...
Func1();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/391772.html
