在 C# 中,可以通过事件和委托来实现窗体之间的值传递。具体步骤如下:

  1. 在源窗体中定义一个事件。例如:
public event EventHandler<MyEventArgs> MyEvent;
  1. 在源窗体中触发事件并传递参数。例如:
private void button1_Click(object sender, EventArgs e)
{
    MyEventArgs args = new MyEventArgs();
    args.Value = textBox1.Text;
    MyEvent?.Invoke(this, args);
}
  1. 在目标窗体中定义一个事件处理方法。例如:
private void Form2_MyEvent(object sender, MyEventArgs e)
{
    textBox1.Text = e.Value;
}
  1. 在目标窗体中订阅源窗体的事件。例如:
private void button1_Click(object sender, EventArgs e)
{
    Form1 form1 = new Form1();
    form1.MyEvent += Form2_MyEvent;
    form1.Show();
}

其中,MyEventArgs 是自定义的事件参数类,用于传递具体的值。例如:

public class MyEventArgs : EventArgs
{
    public string Value { get; set; } 
}

通过以上步骤,就可以实现窗体之间的值传递。当源窗体触发事件时,目标窗体的事件处理方法会被调用,并将传递的值赋给目标窗体的控件。

C# 窗体间传值:事件与委托的最佳实践

原文地址: https://www.cveoy.top/t/topic/ovn3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录