c#事件
假设场景: 在比赛过程中,当裁判员枪声响起,发生了一个事件,裁判员通知该事件发生,参加比赛的运动员仔细听枪声是否发生。运动员是该事件的订阅者,没有参赛的人不会注意,即没有订阅该事件。
C#中使用事件需要的步骤:
1、创建一个事件 event 委托名 事件;
2、 订阅事件 事件=new 委托名 (方法名);
3、触发事件 事件;
窗体1代码
public partial class Form1 : Form
{
public delegate void TransData(string buffer);
public static event TransData data;
private void button1_Click(object sender, EventArgs e)
{
if (TransEvent != null)
TransEvent("hello world");
}
}
窗体2代码
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
Form1.TransEvent += Form1_TransEvent;
}
private void Form1_TransEvent(string buffer)
{
label1.Text = buffer;
}
}
通过事件订阅实现窗体的传值。