使用委托达到父子窗体联动

今天,在弄一个小程序,需要达到:在子窗体中点击左右按钮时,主窗体中相对应的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);

源代码:




猜你喜欢

转载自blog.csdn.net/qq_35351282/article/details/80500034