应用场景:自定义控件注册委托和事件,传入参数,由使用自定义控件的表单实现事件逻辑处理
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中完成逻辑处理。