WINFORM 窗体间的传值实现解析
源码 https://github.com/SHAREVIEW/winform_valnue-from-form-2-form_20190919.git
在WinForm之间传值有很多种方法,在这里我用的是delegate and event进行传值.
新建一个WindowsApplication,创建两个WinForm.其实它们就是两个类.
每个WinForm中各加入一个Button和一个TextBox.
在WinForm2中写入代理和事件(delegate and event)如下:
//代理声明 public delegate void SendMessage(string str); //事件声明 public event SendMessage SendEvent; private void btnSend_Click(object sender, EventArgs e) { //调用事件 SendEvent(textBox1.Text); }
在WinForm1中写入如下代码:
private void btnShow_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); //Form2事件注册 f2.SendEvent+=new Form2.SendMessage(GetMessage); f2.Show(); } //代理调用的方法 public void GetMessage(string str) { textBox1.Text = str; }
在点击WinForm1的Button弹出WinForm2后,在WinForm2中文本框输入文字,然后点击按钮,信息将会立刻发送到WinForm1,并显示出来.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
c# WinForm 窗体之间传值的几种方式(小结)
前言 小编最近维护一个Winfrom窗体,是项目中CS端的主窗体,很多子窗体需要从主窗体获取值,同时子窗体还需要给主窗体回传值,下面来给大家介绍一下. 正文 本文中以主窗体为frmMain,子窗体为frmGroup ,两窗体之间的传值来做示例. 方式一: 使用公共静态变量传值 主窗体frmMain中代码 public partial class frmMain : Form { //声明工位ID 为公共静态变量 public static string terminalID = "";
-
WinForm IP地址输入框控件实现
本文实例为大家分享了WinForm IP地址输入框控件的具体实现代码,供大家参考,具体内容如下 IPInput.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; using System.Text.RegularE
-
C# winform程序实现开机自启动并且识别是开机启动还是双击启动
开机启动程序,在很多场合都会用到,尤其是那种在后台运行的程序. 效果图: 以上两幅图都用到了命令行启动程序,为了模拟开机启动或者其他程序调用此程序. 第一幅图:程序启动可以根据不同参数,执行不同的操作.如果是双击启动,就自动运行逻辑代码,如果是带特定参数启动,就自动运行逻辑代码. 第二幅图:winform 程序设置开机启动,模拟双击启动和开机启动的不同效果. 开机启动并自动运行方法:其实思路很简单,就是将程序添加到注册表中,这设置值的时候,加一个参数就可以了.然后程序在入口函数处判断启动参数,如
-
Winform窗体传值的方法(示例)
进行用C#来开发windows应用程序项目时,不同窗口之间传值有很多种不同的方法, 假设项目中有两个窗体,Form1和Form2,要实现的效果是:点击Form1中的按钮打开From2,点击Form2中的按钮改变窗体Form1的背景颜色. 示例一: 点击Form1中的按钮打开From2,点击Form2中的按钮改变窗体Form1的背景颜色. Form1的代码: public partial class Form : Form { public Form() { InitializeComponent
-
WinForm窗体间传值的方法
本文实例讲述了WinForm窗体间传值的方法.分享给大家供大家参考.具体实现方法如下: 窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式: 1.公共静态变量: 2.使用共有属性: 3.使用委托与事件: 4.通过构造函数把主窗体传递到从窗体中: 一.通过静态变量 特点:传值是双向的,实现简单 实现代码如下: 在一个app类中定义一个静态成员value 复制代码 代码如下: public class app { public static string value
-
C#,winform,ShowDialog,子窗体向父窗体传值
调用showdialog方法后,调用代码被暂停执行,等到调用showdialog方法的窗体关系后再继续执行.而且窗体可以返回一个dialogresult值,他描述了窗体关闭的原因,例如OK,Cancel,yes,no等.为了让窗体返回一个dialogresult,必须设置窗体的dialogresult值,或者在窗体的一个按钮上设置dialogresult属性. 例子: 下面是子窗体代码,要求输入phone,然后会返回给父窗体. using System; using System.Collect
-
C# Winform实现导入和导出Excel文件
本文实例为大家分享了Winform实现导入导出Excel文件的具体代码,供大家参考,具体内容如下 /// <summary> /// 导出Excel文件 /// </summary> /// /// <param name="dataSet"></param> /// <param name="dataTable">数据集</param> /// <param name="isS
-
WINFORM 窗体间的传值实现解析
源码 https://github.com/SHAREVIEW/winform_valnue-from-form-2-form_20190919.git 在WinForm之间传值有很多种方法,在这里我用的是delegate and event进行传值. 新建一个WindowsApplication,创建两个WinForm.其实它们就是两个类. 每个WinForm中各加入一个Button和一个TextBox. 在WinForm2中写入代理和事件(delegate and event)如下: //
-
C#开发Winform实现窗体间相互传值
目录 一.前言 二.公共属性 三.公共方法 四.委托 1.定义一个委托 2.实例化一个此委托类型的事件 3.定义要执行的方法 4.将方法绑定到事件 5.触发委托 一.前言 我们在做Winform窗体程序开发的时候,会经常遇到窗体之间相互传值.假设有下面的一个场景:一个主窗体和一个子窗体,点击主窗体上面的按钮给子窗体传值,并在子窗体上面显示出来,一般会有如下几种方式实现. 二.公共属性 我们可以在子窗体里面定义一个公共的属性,然后在父窗体里面给公共属性赋值,这样可以实现窗体之间传值,子窗体代码如下
-
C#窗体间常用的几种传值方式及委托与事件详解
前言 窗体间的传值,最好使用委托方式传值,开始之前,我们先来说一下委托与事件的关系. 委托:是一个类. 事件:是委托类型的一个特殊实例,只能在类的内部触发执行. 首先创建2个窗体,这里我们以form1为发送窗体,form2为接收窗体 form1窗体 form2窗体 方式一(最简单的方式) form1窗体代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;
-
C#实现窗体间传值实例分析
本文实例分析了C#实现窗体间传值的方法.分享给大家供大家参考,具体如下: 1.VS 2005的Visual C# Windows应用程序和Visual C#智能设备Pocket PC 2003设备应用程序. 假设我们需要点击主窗体FMMain中的某一个按钮时打开子窗体FMChild并将某一个值传给子窗体FMChild,一般情况下,我们点击按钮显示子窗体FMChild的代码为: FMChild fmChild = new FMChild(); fmChild.ShowDialog(); fmChi
-
WinForm中窗体间的数据传递交互的一些方法
实际上过去我也写过类似的主题,这里把各种方法总结一下,内容的确基础了一些,所以这篇文章是写给刚刚学习C#的同行们的,希望对大家有些帮助吧!很抱歉,这篇文章没有诡异的bug来勾起大家的兴趣,但是下篇文章我会努力写些有趣的主题的! 在窗体间传递数据的方法比较多: 1,在子窗体中自定义一个构造函数,参数类型是主窗体,当要显示子窗体的时候,就用这个构造函数来实例化子窗体,然后把this指针传进去,说起来太抽象了,我大概一写大家应该就明白了: 复制代码 代码如下: public class frmMain
-
C# WinForm窗体编程中处理数字的正确操作方法
使用C#进行WinForm开发时,经常需要从WinForm窗体中获取用户输入数据.如果是字符串,那很好办,直接使用"控件名.Text"即可.但如果是数字类型的值呢?怎么样获取?怎么样判断?怎么样转换?怎么样错误提示?且看下文. 假如我要从WinForm界面上获取一个用户输入的数字,代码如下: 复制代码 代码如下: int num; //定义一个int类型的变量来接收值 //假设接收用户输入的文本框控件名称为"txtNum",txtNum.Text为字符串类型. //
-
父子窗体间传递JSON格式的数据的代码
如果某个一级评分项包含评分子项,则点击该评分项时,再弹出一个新窗口,新窗体中列出了当前评分项的所有评分子项列表,供用户进行操作.用户操作完成后,点击"确定"按钮,则返回到父窗体,在子窗体中所有的操作结果,同时要带到父窗体中.同时,如果用户再次点击该评分项,则在弹出子窗体的同时,要将上次操作的结果绑定到对应的操作项上. 上面描述的例子,就涉及到了一个父子窗体间的数据传递.如何实现这一数据传递,当然有很多方法.这里只是记录一下在这个例子中我使用的方法.我的方法是在子窗体点击"确定
随机推荐
- 用 或 || 来兼容FireFox
- java微信开发第二步 获取消息和回复消息
- iOS将视频录像切成一张张缩略图
- Python中使用pprint函数进行格式化输出的教程
- PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
- 不用iconv库的gb2312与utf-8的互换函数
- 选择java的理由:java之父访谈实录
- js函数内变量的作用域分析
- javascript 关于# 和 void的区别分析
- Python实现身份证号码解析
- jquery基础教程之deferred对象使用方法
- Google 地图API资料整理及详细介绍
- Android 基于Socket的聊天室实例
- Android Studio实现带边框的圆形头像
- 两台思科路由器互相升级IOS过程
- Python调用C语言的方法【基于ctypes模块】
- PHP迭代器和迭代的实现与使用方法分析
- tp5实现微信小程序多图片上传到服务器功能
- 安装易语言步骤详解
- 如何实用Java实现合并、拆分PDF文档