using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public delegate void mydel(object sender,EventArgs e);
private event mydel _TxtClick;
public event mydel TxtClick//相当与事件访问器,可以联想属性访问器
{
add
{
//do something else
_TxtClick+=value;
}
remove
{
//do something else
_TxtClick -= value;
}
}
public virtual void OnTxtClick(object sender, EventArgs e)
{
_TxtClick(sender,e);//不能用TxtClick(sender,e)激发事件
}
mydel handel1, handel2,handel3;
private void Form1_Load(object sender, EventArgs e)
{
handel1=new mydel(Form1_mosceClick);
handel2=new mydel(Form1_mosceClick2);
handel3 = new mydel(Form1_mosceClick3);
TxtClick += handel1 += handel2+handel3;
TxtClick -= handel3;//移除handel1会同时移除handel2,handel3,移除handel2或handel3时只移除自己.
}
void Form1_mosceClick(object sender, EventArgs e)
{
MessageBox.Show("3");
}
void Form1_mosceClick2(object sender,EventArgs e)
{
MessageBox.Show("4");
}
void Form1_mosceClick3(object sender, EventArgs e)
{
MessageBox.Show("5");
}
private void textBox1_MouseDown(object sender, MouseEventArgs e)
{
OnTxtClick(sender, e);
}
}
};