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,并显示出来.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 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格式的数据的代码

    如果某个一级评分项包含评分子项,则点击该评分项时,再弹出一个新窗口,新窗体中列出了当前评分项的所有评分子项列表,供用户进行操作.用户操作完成后,点击"确定"按钮,则返回到父窗体,在子窗体中所有的操作结果,同时要带到父窗体中.同时,如果用户再次点击该评分项,则在弹出子窗体的同时,要将上次操作的结果绑定到对应的操作项上. 上面描述的例子,就涉及到了一个父子窗体间的数据传递.如何实现这一数据传递,当然有很多方法.这里只是记录一下在这个例子中我使用的方法.我的方法是在子窗体点击"确定

随机推荐