Winform中如何实现父窗体传递数据到子窗体并刷新子窗体
来源:互联网 发布:windows 开发语言 编辑:程序博客网 时间:2024/05/09 23:33
Winform中如何实现父窗体传递数据到子窗体并刷新子窗体
原理:利用委托和事件,本文将以图文并茂的例子讲述,告诉我们So Easy
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一.窗体展示
首先我们看到是一个父窗体和子窗体的合体,我们可以看到左边是一个[树控件]属于父窗体,右边的数据展示属于一个[用户控件],
我们要进行的操作是当点击左边父窗体的树控件时,实现右边子窗体的数据变化
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二.代码展示
首先是父窗体中的代码,我们需要定义一个带参数的委托
/// <summary> /// 绑定数据传递类编号代理 /// </summary> /// <author>PengZhen</author> /// <time>2013-10-21 11:29:24</time> /// <param name="strClassId">类编号</param> public delegate void BindInfo(string strClassId);
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
其次是子窗体的代码,我们需要定义一个绑定数据的方法
/// <summary> /// 根据类编号获取信息并绑定到窗体 /// </summary> /// <author>PengZhen</author> /// <time>2013-10-28 14:33:31</time> /// <param name="strClassId">类编号</param> public void BindControl(string strClassId) { //绑定操作 }
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
当上面两步完成之后,我们就要就行调用,进行绑定操作了
只需要在父窗体中,当我们点击[树节点]时在相应的按钮事件中添加如下代码
//实例化子窗体 DataClassification dataDC = new DataClassification();
/// <summary> /// 根据节点显示不同数据 /// </summary> /// <author>PengZhen</author> /// <time>2013-10-29 9:54:29</time> /// <param name="sender"></param> /// <param name="e"></param> private void tlDataType_FocusedNodeChanged(object sender, DevExpress.XtraTreeList.FocusedNodeChangedEventArgs e) { if (tlDataType.FocusedNode != null) { //绑定代理 BindInfo bindDLG = new BindInfo(dataDC.BindControl); //数据编号 string strClassId = tlDataType.FocusedNode.GetDisplayText(1); //绑定窗体控件值 bindDLG(strClassId); } }
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
OK,写到这基本都完成了,有木有发现非常简单呢,
以上代码可以结合下面链接中文章里面的操作就行联合运用
Winform中如何实现子窗体刷新父窗体
- Winform中如何实现父窗体传递数据到子窗体并刷新子窗体
- Winform中如何实现子窗体刷新父窗体
- Winform子窗体刷新父窗体
- Winform子窗体刷新父窗体
- Winform子窗体刷新父窗体
- Winform子窗体刷新父窗体
- winform 子窗体数据改变刷新父窗体
- 子窗体刷新父窗体
- 子窗体刷新父窗体
- 子窗体刷新父窗体
- 子窗体刷新父窗体
- # winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值
- C# winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值
- winform 用子窗体刷新父窗体,子窗体改变父窗体控件的值
- 在asp.net中关闭子窗体并刷新父窗体数据
- Winform开发系列 - 子窗体刷新父窗体
- WinForm关闭子窗体时刷新父窗体
- WinForm中的DataGridView子窗体刷新父窗体备忘
- 分治法求最近点对问题
- HtmlUnit爬虫解决url中文
- 关于web中的一个问题
- 400%能效提升 ARM发布T760最快移动GPU
- SGU 139 Help Needed!
- Winform中如何实现父窗体传递数据到子窗体并刷新子窗体
- 黑马程序员_异常
- hdu 1853 Cyclic Tour(最小权匹配/费用流)
- 第十周项目1-利用循环求和(do-while)
- bzoj 3166: [Heoi2013]Alo 可持久化trie
- Linux netstat命令详解
- cfa 衍生产品及分类
- 加油项目
- JQuery Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据