C# 自定义委托与事件应用

应用场景:自定义控件注册委托和事件,传入参数,由使用自定义控件的表单实现事件逻辑处理

1、BCtrl 自定义控件定义委托和事件,将参数传给事件UpdateAfterRefreshed

public partial class BCtrl: UserControl{
public delegate void Refresh(string str);
public event Refresh UpdateAfterRefreshed; ...
private void Test(string str){ ... if (UpdateAfterRefreshed != null) UpdateAfterRefreshed(str);   }
... }

2、在A Form处理由B Form传来的事件或参数


public partial class AForm: Form{
   public AForm(){
   bCtrl.UpdateAfterRefreshed+=BCtrl_UpdateAfterRefreshed;
   }
...
  private void BCtrl_UpdateAfterRefreshed(string str){
  ...逻辑处理
  }
}

场景:也可以在当BCtrl中出现一个事件,如:选中事件,在选中事件中使用自定义事件,在AForm中完成逻辑处理。

 



posted @ 2022-02-18 14:23  乡野小猫  阅读(233)  评论(0编辑  收藏  举报