原理:利用委托和事件,本文将以图文并茂的例子讲述,告诉我们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中如何实现父窗体传递数据到子窗体并刷新子窗体的更多相关文章

  1. WinForm 中两个窗口之间传递数据

    方法有很多种,这里介绍项目中使用的两种 一.通过委托+事件的方法进行传值 (点击Form2中的button1按钮,将会把Form2中的textbox.text 传给Form1中的 lable.text ...

  2. vuejs子组件向父组件传递数据

    子组件通过$emit方法向父组件发送数据,子组件在父组件的模板中,通过自定义事件接收到数据,并通过自定义函数操作数据 <!DOCTYPE html> <html lang=" ...

  3. Vue : props 使用细节(父组件传递数据给子组件)

    props使用细节 在Vue.js中我们可以使用 props 实现父组件传递数据给子组件,下面我们总结一下props的使用细节 1.基础类型检查 2.必填数据 3.默认值 4.自定义验证函数 其中每一 ...

  4. vue子组件使用自定义事件向父组件传递数据

    使用v-on绑定自定义事件可以让子组件向父组件传递数据,用到了this.$emit(‘自定义的事件名称’,传递给父组件的数据) <!DOCTYPE html> <html lang= ...

  5. Vue父子组件通信(父级向子级传递数据、子级向父级传递数据、Vue父子组件存储到data数据的访问)

    Vue父子组件通信(父级向子级传递数据.子级向父级传递数据.Vue父子组件存储到data数据的访问) 一.父级向子级传递数据[Prop]: ● Prop:子组件在自身标签上,使用自定义的属性来接收外界 ...

  6. vue单文件组件形成父子(子父)组件之间通信(vue父组件传递数据给子组件,子组件传递数据给父组件)

    看了很多文章,官网文档也有看,对父子组件通信说的不是很明白:决定自己总结一下: vue一般都使用构建工具构建项目:这样每个组件都是单文件组件:而网上很多文章都是script标签方式映入vue,组件通信 ...

  7. winform中dataGridView高度自适应填充完数据的高度

    // winform中dataGridView高度自适应填充完数据的高度,就是dataGridView自身不产生滚动条,自己的高度是根据数据的多少而变动. 在load的时候,数据绑定后,加上如下代码: ...

  8. React中的Context——从父组件传递数据

    简介:在React中,数据可以以流的形式自上而下的传递,每当你使用一个组件的时候,你可以看到组件的props属性会自上而下的传递.但是,在某些情况下,我们不想通过父组件的props属性一级一级的往下传 ...

  9. vue 父向子组件传递数据,子组件向父组件传递数据方式

    父组件向子组件传递数据通过props,子组件引入到父组件中,设置一个值等于父组件的数据,通过:bind将数据传到子组件中,子组件中通过props接收父组件的数据,这样就可以使用父组件的数据了,循环组件 ...

随机推荐

  1. MySQL Replication的相关文件

    1.master.info文件 位于slave端的数据目录下,存储slave连接到master的相关信息,如,master主机地址.连接用户.密码.端口.已经获取的日志信息. 复制过程中修改.删除ma ...

  2. Make Rules

    target: components ls TAB rule main:main.o mytool1.o mytool2.o gcc -o main main.o mytool1.o mytool2. ...

  3. tomcat部署方法总结

    可以参考之前的:http://www.cnblogs.com/youxin/archive/2013/01/18/2865814.html 在Tomcat中部署Java Web应用程序有两种方式:静态 ...

  4. Myeclipse10编写jsp时出现 Multiple annotations found at this line:

    今天,老师讲完课做了一个小练习,就是编写一个jsp页面.写完后,我发现少些了点东西,我准备使用<% %>添加是发现,报错了 Multiple annotations found at th ...

  5. ViewPager相互嵌套,导致子ViewPager无法滑动,且子ViewPager中的view无法被点击

        场景:当使用ViewPager进行嵌套的时候,子viewPager是无法进行嵌套的,因此我们要重写ViewPager类,并重写里层viewPager类中的onTouchEvent方法,调用其父 ...

  6. C# 把字符串类型日期转换为日期类型

    方法一:Convert.ToDateTime(string) string格式有要求,必须是yyyy-MM-dd hh:mm:ss ================================== ...

  7. Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别

    Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.12.0的区别 时间 2012-12-19 20:30:12  CSDN博客原文  http://blog.cs ...

  8. RMAN命令

    一.启动.关闭数据库 在RMAN中执行关闭和启动数据库的命令与SQL环境下一模一样.当然,在执行之前,你需要先连接到目标数据库,如例: C:\Documents and Settings\Admini ...

  9. clock divider

    一个clock的产生: 1) Clock source的选择: cgm_mux5(.clk_out, .clk_in0, .clk_in1, .clk_in2, .clk_in3, .clk_in4, ...

  10. c 指针(一)

    一:什么是指针 变量i  的存储地址为P(假设为2000),*P  为指针变量 一个变量的地址称为该变量的“指针”.如果有另一个变量专门存放另一变量的地址(指针),则它称为“指针变量”. 指针是一个地 ...