原理:利用委托和事件,本文将以图文并茂的例子讲述,告诉我们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. ios-XML文档解析之SAX解析

    首先SAX解析xml *xml文档的格式特点是节点,大体思路是把每个最小的子节点作为对象的属性,每个最小子节点的'父'节点作为对象,将节点转化为对象,输出. 每个节点都是成对存在的,有开始有结束.有始 ...

  2. SSM框架搭建

    http://blog.csdn.net/gebitan505/article/details/44455235/

  3. Eclipse jar打包

    方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...

  4. leetcode 116- Populating Next Right Pointers in Each Node

    题目: Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode ...

  5. Lintcode: Route Between Two Nodes in Graph

    Given a directed graph, design an algorithm to find out whether there is a route between two nodes. ...

  6. poj1703 Find them, Catch them 并查集

    poj(1703) Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 26992   ...

  7. ACM之Java速成(2)

    acm中Java的应用 Chapter I. Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特点: (1) 最明显的好处是,学会Java,可以参加Java Challenge ...

  8. Spark on Yarn

    Spark on Yarn 1. Spark on Yarn模式优点 与其他计算框架共享集群资源(eg.Spark框架与MapReduce框架同时运行,如果不用Yarn进行资源分配,MapReduce ...

  9. springmvc+spring+mybatis分页查询实例版本3,添加条件检索

    在第二个版本上添加了姓名模糊查询,年龄区间查询;自以为easy,结果发现mybatis的各种参数写法基本搞混或是忘了,zuo啊,直接上代码,然后赶紧把mybatis整理一遍再研究自己的项目,应该还会有 ...

  10. Hibernate开始上手总结

    1,导入hibernate 的jar包,c3p0jar包 2,创建和表关联的实体类,创建关联实体类的配置文件 package com.entity; public class News { priva ...