天天看点

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         }

委托事件的触发如下:

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         }

整个过程就是这样的。