天天看點

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         }

整個過程就是這樣的。