點擊form2窗體按鈕返回結果20賦值給form1窗體文本框
form1代碼如下:
//計算按鈕事件
private void Button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.f += F2_f; //註冊事件,只能+=
f2.ShowDialog();
}
private int F2_f(int arg)
{
textBox1.Text = arg.ToString();
return 1;
}
form2代碼如下:
public event Func<int, int> f; //聲明事件委託變量f,類型爲int,返回值爲int
//form2按鈕事件
private void Button1_Click(object sender, EventArgs e)
{
//給form1窗體的文本框賦值20
if (f != null)
{
f(20);
}
}
完成
補充:因爲此例子並沒有使用返回值,所以可以使用泛型委託Action<int>
轉載於:https://www.cnblogs.com/micc/p/10673328.html
委託