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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步