C#窗体传值代码方法

下面是关于C#窗体传值代码方法的完整攻略。

一、通过构造函数传值

窗体类在实例化时可以通过构造函数传参,实现值的传递。具体步骤如下:

1.在接受传值的窗体中定义传值的变量和对应的构造函数。

public partial class FormB : Form
{
    public string UserName;
    public FormB(string userName)
    {
        InitializeComponent();
        this.UserName = userName;
    }
}

2.在调用窗体的地方中,在实例化窗体时传入参数。

string userName = "张三";
FormB formB = new FormB(userName);
formB.ShowDialog();

二、通过属性传值

通过窗体的public属性传值,可以在窗体间实现数据共享。具体步骤如下:

1.在接受传值的窗体中定义传值的属性:

public partial class FormB : Form
{
   public string UserName { get; set; }
   //...
}

2.在调用窗体的地方中,设置传值的属性:

string userName = "张三";
FormB formB = new FormB();
formB.UserName = userName;
formB.ShowDialog();

除了上述两种传值方式,还有通过静态变量传值、通过事件传值等方法,不过上面的两种方式是比较常用和简单的方法。

示例说明

下面通过两个示例进一步说明如何在C#窗体之间传值。

示例1:从窗体A向窗体B传值

假设窗体A中有一个文本框,需要向窗体B中的标签展示文本框中的内容。具体步骤如下:

1.在窗体B中定义传值的属性。

public partial class FormB : Form
{
   public string UserName { get; set; }
   //...
   private void FormB_Load(object sender, EventArgs e)
   {
       label1.Text = UserName;
   }
}

2.在窗体A中实例化窗体B,并设置传值的属性。

private void button1_Click(object sender, EventArgs e)
{
   string userName = textBox1.Text;
   FormB formB = new FormB();
   formB.UserName = userName;
   formB.ShowDialog();
}

这样,当在窗体A中点击按钮后,弹出窗体B,在窗体B中的标签上展示窗体A中文本框的内容。

示例2:从窗体B向窗体A传值

假设窗体B中有一个文本框,需要将文本框中的内容传递给窗体A进行处理。具体步骤如下:

1.在窗体B中定义一个事件。

public partial class FormB : Form
{
   public delegate void PassValue(string value);
   public event PassValue pasValueEvent;
   //...
   private void button1_Click(object sender, EventArgs e)
   {
       if (pasValueEvent != null)
           pasValueEvent(textBox1.Text);
       this.Close();
   }
}

2.在窗体A中实例化窗体B,并订阅事件。

public partial class FormA : Form
{
   public FormA()
   {
       InitializeComponent();
   }
   //...
   private void button1_Click(object sender, EventArgs e)
   {
       FormB formB = new FormB();
       formB.pasValueEvent += new FormB.PassValue(ReceiveValue);
       formB.ShowDialog();
   }
   private void ReceiveValue(string value)
   {
       label1.Text = value;
   }
}

这样,在窗体A中点击按钮后,弹出窗体B,在窗体B中输入文本后点击确认按钮,将文本框中的内容传递给窗体A中的标签展示出来。

以上就是通过构造函数和属性传值的两种C#窗体传值的方法,以及两个示例说明,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#窗体传值代码方法 - Python技术站

(0)
上一篇 2023年6月7日
下一篇 2023年6月7日

相关文章

  • c#中利用委托反射将DataTable转换为实体集的代码

    下面是详细的“c#中利用委托反射将DataTable转换为实体集的代码”的攻略: 1. 委托与反射简介 委托是C#中非常重要的一个概念,它可以理解为一种能够存储指向方法的变量,可以通过委托调用方法。而反射则是C#中的一个高级特性,可以在程序运行时动态地获取和调用对象的类型、方法、属性等信息。 2. 实现步骤 实现将DataTable转换为实体集的代码,需要经…

    C# 2023年5月31日
    00
  • C#实现实体类和XML相互转换

    让我来为大家详细讲解C#实现实体类和XML相互转换的完整攻略。 1. 为什么要进行实体类和XML转换 在许多实际开发中,我们需要将对象或实体类转换成XML格式,或者将XML转换成相应的对象或实体类。常见的场景包括将数据存储到XML文件中,或者将XML文件序列化为对象,以便于进行数据传输、存储和处理等操作。 2. 实现实体类和XML相互转换的核心模块 C#中提…

    C# 2023年6月8日
    00
  • .Net Core使用Logger实现log写入本地文件系统

    下面是详细讲解”.Net Core使用Logger实现log写入本地文件系统”的完整攻略。 一、前言 在开发过程中,记录系统运行状态和错误信息是非常重要的一件事情,这时候就需要使用log来记录。在.Net Core中,可以通过Logger实现log写入本地文件系统。 二、Logger介绍 Logger是.NET Core框架中的一个基本组件,它允许您轻松地记…

    C# 2023年6月3日
    00
  • Java泛型类型通配符和C#对比分析

    Java泛型类型通配符和C#泛型中的通配符有些许不同之处。本文将深入讨论这些不同点,并带来一些示例来加深读者的理解。 1. Java泛型类型通配符 Java泛型类型通配符表示某个范围内的类型参数,但具体是哪个类型参数是未知的。泛型类型通配符用?表示,它可以用来定义泛型方法、泛型类和泛型接口,让代码在编译期间进行类型检查,减少运行时的错误。 1.1 无限制通配…

    C# 2023年6月7日
    00
  • C#栈和队列的简介,算法与应用简单实例

    C#栈和队列的简介 什么是栈和队列? 栈(Stack)和队列(Queue)是两种常用的数据结构,它们都是线性数据结构。 栈就像是一个箱子,我们往箱子里放入物品(压栈),并取出箱子里面的物品(弹栈)。 队列就像是一条排队的队伍,我们往队伍的尾部加入一个人(入队),并从队伍的头部取出一个人(出队)。 算法 栈(Stack) 1.入栈(Push):将一个元素加入栈…

    C# 2023年5月31日
    00
  • C#多线程系列之任务基础(二)

    下面是关于”C#多线程系列之任务基础(二)”的详细讲解。 标题 C#多线程系列之任务基础(二) 代码块 var task = Task.Run(() => { // 这里是异步执行的任务代码 }); 正文 本文主要讲解了在C#中利用Task实现多线程编程的基础知识。在任务基础(一)中,我们讲解了Task的基本概念、使用方法以及几种等待任务完成的方法。在…

    C# 2023年6月3日
    00
  • .NET中读取Excel文件的数据及excelReader应用

    【.NET中读取Excel文件的数据及excelReader应用】 为什么选择excelReader excelReader是一个免费、轻量级的Excel文件读取工具; excelReader支持读取多种不同格式的Excel文件,包括xls,xlsx,csv等; excelReader具有较高的兼容性,可以在不同操作系统和框架环境下使用。 实现步骤 安装ex…

    C# 2023年6月3日
    00
  • C#实现简易计算器功能(2)(窗体应用)

    C#实现简易计算器功能(2)(窗体应用) 前言 在上一篇教程C#实现简易计算器功能(1)中,我们使用控制台应用程序的方式实现了简易的计算器功能。但是,控制台程序的界面比较简陋,不够直观、美观。在这篇教程中,我们将使用Windows窗体应用程序的方式来实现简易计算器功能,界面将更加直观、友好。 步骤 1. 新建Windows窗体应用程序工程 打开Visual …

    C# 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部