首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

利用委托实现winform多个窗体间的传值

最近用C#做上位机程序开发,要实现这样一个功能: 父窗体创建了两个子窗体——子窗体1和子窗体2,子窗体1产生的数据要在子窗体2中显示出来。...因为这两个子窗体本身之间并没有直接关联,他们都是由父窗体new出来的,所以就想着1的数据先发给父窗体,父窗体再发给2。这样结构上比较清晰,也符合松耦合的模式。...子窗体1发送消息给父窗体 在子窗体1中定义一个委托 public delegate void SendMsg(string msg); 再定义一个事件 public event SendMsg send...上面子窗体1已经注册好了委托和事件,接下来需要父窗体订阅该事件。...父窗体转发消息给子窗体2 这回等于是父窗体给子窗体发消息,所以我们在父窗体中定义委托和事件,然后让子窗体2去订阅,代码如下,我们先去掉关于窗体1的那部分以方便观察。

1.7K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C# WINFORM通过委托和事件窗体间(跨窗体)传值(自定义事件参数)--实例详解

    C# WINFORM通过委托和事件窗体间(跨窗体)传值(自定义事件参数)--实例详解 在C# WINFORM的日常开发中,我们通常需要遇到跨窗体传值这一问题,实现的方式也是有很多的,今天给大家分享一种通过委托和事件来实现的传值方式...不多说废话,我将用一个具体的实例来跟大家说明怎么样利用很委托和事件以及自定义的参数来实现跨窗体传值。...例如:程序中我们有一个主窗体,其中文本框的值是我们需要从另外一个窗体中获取的 在这个表单窗体中,填写完整联系人地址信息后,我们希望把这些信息回传到主窗体中 好了,效果已展示,下面给大家放一下源代码。...WINFORM窗体间通过委托和事件传值(自定义事件参数)的实现就结束了,如果你对本站分享的内容有更好的建议或意见,欢迎给我留言,希望我们共同学习,进步,谢谢。...最后,如果你对本实例程序源码感兴趣,可以点击这里下载 本文本同步发布至网享网[http://2sharings.com]:C# WINFORM窗体间通过委托和事件传值(自定义事件参数)--实例详解

    6.3K71

    layui弹窗间的传值(layui弹出层传值)(窗口传值)

    主要有两部分 1、从主窗口传值到弹出层 2、从弹出层传值到主窗口 3、通过session互传 4、通过调用父窗口的函数从而获取到父窗口的值(相反也是可以的) 1、从主窗口传值到弹出层 首先时js...changefileone函数时按钮绑定事件,按钮点击后调用这个函数然后弹出弹出层,加载changefile.html界面 然后success提前加载changefile的form数据(从主窗口传值到弹出层...) //bootstraptable的修改,点击按钮的时候自动选中该行,因此可以获取到整行的值 function changefileone() { var rowselect = $...那个的话是通过class名称来获取的 然后controller获取从js传来的数据的话,看我另外的博客 下拉框动态获取数据库数据 下拉框可以搜索 看我其他博客 3、通过session传值...父窗口的js: (1)(这个是获取bootstraptable的选定值)menuTable是表格的id,这样返回的值是jSON值来的 function getrowselect() {

    7.4K20

    React Native 系列(五) -- 组件间传值

    任何一款 App 都有界面之间数据传递的这个步骤的,那么在RN中,组件间是怎么传值的呢?这篇文章将介绍到顺传、逆传已经通过通知传值。...顺传 其实我们在本系列第二篇文章中,讲述Props和State的时候就已经接触了顺传。 通过props传值 举个?...但是有时候,我们并不是在创建 子组件 的时候就传递值,而是需要等待某个触发事件的时候,再传递,这就涉及到获取子组件传值。 通过ref拿到组件,然后传值 举个?...image.png image.png 逆传 使用方法回调: 在父组件定义一个处理接收值的方法 把这个方法传递给子组件,并且绑定this,子组件就能通过this.props拿到这个方法调用 举个例子,...好了,组件间传值就讲到这里了。 致谢 如果发现有错误的地方,欢迎各位指出,谢谢!

    1.6K100

    Android Activity间传值选择,Serializable Or Parcelable

    逻辑封装,让其与Activity解耦,同时还可以有自己的生命周期,让我们控制布局绘制和进行资源回收,这些都是Fragment的好处,以后有机会再谈,今天,我们想讨论的是Activity页面之间跳转时,互相传值的方法选择...Java中反序列化时通过SerialVersionUID来判断是否能够反序列化,所以需要序列化的类最好都能给出一个固定的SerialVersionUID值,如下 ?...现在我们还是通过一个具体的实例来介绍这二种Activity传值的基本使用方法。假设,我们现在有一个商品Good的列表,Good类是这样的 ?...第一个需求很简单就搞定了,我们再来搞定第二个需求,传Good的数组给详情Activity,如果使用Serializable的话,Intent没有提供putExtra直接传递Good数组的重载方法,所以我们需要做一个包装类

    1.3K30

    小程序实践(七):页面间传值

    一、URL传值  看下官方API文档: ?    官方提供了5种页面间的跳转方式,其中前四种跳转的时候带有url参数,用于指定跳转的页面地址,而其中前三种url中可以带有参数。   ...以此来实现页面跳转时候的参数传值。  1、页面传基本数据格式的方式     将参数添加到url部分     以  ?...属性名=属性值 的形式添加 , 多个参数用&连接  示例:     跳转前页面代码: ? 跳转后页面代码: ?     控制台信息: ?...2、页面传对象的方式      测试将对象作为参数传递的话,接受页面时接收不到值的。      解决办法就是先将对象转为Json字符串,接受页面接收到字符串之后再转为对象即可。      ...二、全局APP对象传值 这个就很好理解了,就是有一个全局的对象,获得方式就是getApp    可以在任何页面使用,所以在要在传值也面前赋值,接受页面读取即可    赋值: ?

    1.1K10

    【C语言】传值调用与传址调用详解

    前言 在C语言的学习过程中,理解函数的参数传递方式是非常重要的概念。C语言支持两种常见的参数传递方式:传值调用(Call by Value)和传址调用(Call by Address)。...在C语言中,函数在被调用时会接收参数。参数传递是指在函数调用时,函数的输入数据(参数)如何从调用者传递到被调用的函数。传值调用和传址调用是两种常见的传递方式,它们的差别决定了函数能否改变传入参数的值。...C语言 传值调用 1. 什么是传值调用? 传值调用是C语言中最常见的函数参数传递方式。在这种方式下,函数接收到的是参数的副本。换句话说,函数在调用时并不会修改原始参数,而是对参数的副本进行操作。...传值调用与传址调用的比较 1. 传值调用的优缺点: 优点: 安全性较高,因为函数内部不会直接修改外部变量的值。 当参数较小且不需要在函数内部修改时,传值调用是更合适的选择。...传址调用:当需要修改传入的参数,或者当参数较大(如数组、结构体等)时,传址调用更为高效。 小结 通过上述分析,我们深入探讨了C语言中两种常见的参数传递方式:传值调用和传址调用。

    11310

    vuejs中的组件以及父子组件间通信传值

    (父子组件非父子组件关系图) 没有代码的实际演示,是理解不了上图他们之间怎么通信传值的,组件之间的通信传值是一块硬骨头,逻辑比较绕,远比函数传参复杂得多,为来更好的理解父子组件间传值,下面以一个todolist...父组件怎么向子组件传值? 子组件怎么向父组件通信? ?...(父子组件通信传值) 你将在以下看到,我先不使用组件方式实现todolist,然后转化为组件的方式进行编写,添加内容实现父组件传值给子组件,删除列表项,子组件怎么触发父组件进行通信,感受数据驱动影响视图...(父组件向子组件传值,自定义属性,子组件通过props进行接收) 上面示例代码中,实现父组件向子组件传值添加操作,那么现在我想点击每个列表项的时候,能进行逐条删除操作,该怎么实现呢,这就涉及到子组件向父组件传值的问题了...(子组件通过$emit向父组件触发自定义事件) 小结: 到这里的话,父组件和子组件之间的简单传值就已经结束了,在写vue代码的时候,不要直接去操作dom,而是通过数据的改变让页面自动变化,父组件向子组件传值

    20.5K10

    【C语言函数调用详解】——传值调用&传址调用

    一.传值调用 什么是传值调用呢?顾名思义,传值调用就是直接将实参的值传递给形参。...这样形参和实参的值是一样的,但是函数的形参和实参分别占有不同的内存块,实参是一个独立的个体,形参也是一个独立的个体,只是形参的值与实参相同。..., num2); printf("Swap1::num1 = %d num2 = %d\n", num1, num2); return 0; } 我们来简单分析一下这段代码: 根据我们的分析,传值调用好像不能达到交换...num1,num2的目的,我们看看结果是什么样的: 因此,传值调用,要想在函数内部交换两个变量的值,是不可行的。...以上就是对函数调用的两种方式,传值调用和传址调用的介绍,欢迎大家指正,我们一起进步!!!

    92910

    传址与传值

    这里将讲述传址与传值的区别,先见下图。 这是传值的过程,我们明明把a,b作为实参传过去了。可以看到,交换后的a,b并没有达到我们的预期。为什么会这样呢?...其实是因为,传值的时候,形参是临时创建的,在执行完swap函数后,他们又自动销毁了,从而导致a,b的值并没有交换。如果想要改变实参的值,我们就需要进行传址,而不是传值。...见下图 我们通过把a和b的地址传给了形参,形参就能通过地址,找到a,b,以此来改变a和b的值。此时我们的实参就改为&a和&b,注意swap函数的形参类型是int*,这样就能交换a与b的值啦。...总结:传值:形参是实参的一份拷贝,函数运行起来后,实参是实参,形参和实参没有任何关联,改变形参时,不会对实参造成影响。            ...传址:形参是实参地址的一份拷贝,形参指向的实体是实参,对形参解引用后,拿到的内容就是实参,因此,对形参解引用后的内容进行修改,改变的就是实参。

    11510
    领券