用delegate 和event实现事件(有参数,无返回值)
//1、声明委托
public delegate void ConnectDelegate(bool state);
//2、声明委托事件
public event ConnectDelegate ConnectMakeEvent;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//3、订阅事件
ConnectMakeEvent += PlcConnectMake;
}
//4、触发事件
private void button1_Click(object sender, EventArgs e)//执行Click方法,触发事件
{
if (ConnectMakeEvent != null) //是否被订阅
ConnectMakeEvent(true); //发布事件
}
private void button2_Click(object sender, EventArgs e)
{
if(ConnectMakeEvent != null) //是否被订阅
ConnectMakeEvent(false); //发布事件
}
//5、执行的方法
private void PlcConnectMake(bool make)
{
if (make == true)
label1.Text = "打开连接";
else
label1.Text = "断开连接";
}

本文来自博客园,作者:lyc6921,转载请注明原文链接:https://www.cnblogs.com/lyc6921/p/19121493
浙公网安备 33010602011771号