WinForm用委托传值
有时候我们做WinForm开发的时候需要两个winform进行传值或是事件的响应,用委托传值应该是比较专业一点的做法,下面是我的实现:
1 public delegate void OutLookBarDelegateClickEventHandler(string Item);
2 class OutLookBarDelegate
3 {
4 public static OutLookBarDelegate Instance;
5 public event OutLookBarDelegateClickEventHandler OutLookBarClick; //定义事件
6
7 /// <summary>
8 /// 构造器,建立一个实例。
9 /// </summary>
10 static OutLookBarDelegate()
11 {
12 Instance = new OutLookBarDelegate();
13 }
14 /// <summary>
15 /// 实现事件
16 /// </summary>
17 /// <param name="e">大样栏目点击事件</param>
18 public virtual void OnOutLookBarClick(string Item)
19 {
20 if (OutLookBarClick != null)
21 {
22 OutLookBarClick(Item);
23 }
24 }
委托事件的触发如下:2 class OutLookBarDelegate
3 {
4 public static OutLookBarDelegate Instance;
5 public event OutLookBarDelegateClickEventHandler OutLookBarClick; //定义事件
6
7 /// <summary>
8 /// 构造器,建立一个实例。
9 /// </summary>
10 static OutLookBarDelegate()
11 {
12 Instance = new OutLookBarDelegate();
13 }
14 /// <summary>
15 /// 实现事件
16 /// </summary>
17 /// <param name="e">大样栏目点击事件</param>
18 public virtual void OnOutLookBarClick(string Item)
19 {
20 if (OutLookBarClick != null)
21 {
22 OutLookBarClick(Item);
23 }
24 }
1 OutLookBarDelegate.Instance.OnOutLookBarClick(item.Text); //触发事件
委托事件的响应如下 :1 OutLookBarDelegate.Instance.OutLookBarClick+=new OutLookBarDelegateClickEventHandler(Instance_OutLookBarClick);
1 public void Instance_OutLookBarClick(string item)
2 {
3 //to do something
4 }
整个过程就是这样的。
2 {
3 //to do something
4 }