今天,在弄一个小程序,需要达到:在子窗体中点击左右按钮时,主窗体中相对应的Gridview中的焦点跟着改变。
委托一般可以这么认为:委托就是把一个方法作为另一个方法的参数去使用。
实现该功能的具体步骤:
1、在子窗体中声明委托、实例委托对象
//定义委托 public delegate void SteNewsFormGridViewShow(int handle); //在类里面实例委托 public SetNewsFormGridViewShow SetRowHandle;
源代码:
2、在父窗体中注册委托事件
1>实例化子窗体
2>给子窗体的委托变量注册事件
//实例化子窗体 NewsBulletinForm frm = new NewsBulletinForm(); //注册一个委托事件 frm.SetRowHandle += new SetNewsFormGridViewShow(ChangeRowHandle); //委托事件执行方法 private void ChangeRowHandle(int handle) { gvNews.FocusedRowHandle = handle; }
源代码:
3、在之窗体具体操作需要主窗体同步显示的地方执行委托方法
//委托方法 int index; SetRowHandle(index);
源代码: