C#窗体传值代码方法

yizhihongxing

下面是关于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日

相关文章

  • ASP.NET Core MVC通过IActionFilter.OnActionExecuting方法,获取Controller的Action方法参数值

    用过ASP.NET Core MVC中IActionFilter拦截器的开发人员,都知道这是一个非常强大的MVC拦截器。最近才发现IActionFilter的OnActionExecuting方法,甚至可以获取Controller的Action方法参数值。 假如我们在ASP.NET Core MVC项目中有一个HomeController,其中有一个Acti…

    C# 2023年4月24日
    00
  • C#工程建立后修改工程文件名与命名空间操作

    C#工程的文件名与命名空间是非常重要的,因为它们直接影响了代码的可维护性与可重用性。在建立C#工程时,如果文件名与命名空间不符合要求,需要进行修改。下面是完整的操作攻略。 步骤一:建立工程并修改文件名 使用Visual Studio新建一个C#工程。 右键单击解决方案管理器中的工程节点,选择“重命名”。 输入新的文件名并按下Enter键。 在弹出的对话框中选…

    C# 2023年5月15日
    00
  • C# 命名规则(挺不错的)

    C#命名规则攻略 基本概念 在C#中,每个声明的变量、类、方法和其他成员都应该像自然语言一样有一个明确的名称。好的命名可以让你的代码更易读、易懂并且易于维护。下面是C#中的命名规则: 所有的C#关键字必须小写(例如:if、else、for、while等等)。 变量名使用驼峰命名法,即第一个单词的首字母小写,后面每个单词的首字母大写。例如,firstName、…

    C# 2023年5月15日
    00
  • C# 设计模式系列教程-策略模式

    首先我们来介绍一下“C# 设计模式系列教程-策略模式”的概念。 策略模式 策略模式是一种行为型设计模式,它允许在运行时选择算法的行为。通过定义多个算法类实现同一个接口,并且可以随时切换算法,使得客户端程序能够根据不同的情况选择不同的算法。 策略模式的角色 策略模式涉及到三个角色: 上下文(Context):拥有多个算法类对象,维护一个对于策略对象的引用,可以…

    C# 2023年6月6日
    00
  • 详解C#中的string与String

    详解C#中的string与String 在C#中,string是一个关键字,也是一个引用类型,用于表示文本字符串。而String则是string类型的别名,它们其实是同一种类型,只是在命名规范上不同。本文将详细讲解string和String类型的定义、使用、比较和转换。 定义和使用 定义string类型的变量,可以直接使用关键字string: string …

    C# 2023年5月31日
    00
  • C#检查foreach判读是否为null的方法

    当我们使用foreach循环访问集合或数组时,必须确保集合或数组不为null,否则会抛出NullReferenceException异常。在C#中,有多种方式可以检查集合或数组是否为null,本篇攻略将带你了解其中的两种方法。 方法1:使用if判断 我们可以使用if条件语句来判断集合或数组是否为null。在使用foreach循环之前,先检查集合或数组是否为n…

    C# 2023年5月15日
    00
  • ASP.NET Core Mvc中空返回值的处理方法详解

    让我来详细讲解一下关于ASP.NET Core Mvc中空返回值的处理方法。 问题描述 在ASP.NET Core Mvc中,我们在控制器方法中通常使用返回类型为ActionResult或者是ActionResult。但是在某些情况下,我们希望不返回任何数据,或者只返回HTTP状态码。这时候就需要处理空返回值的情况了。 解决方案 在ASP.NET Core …

    C# 2023年5月31日
    00
  • 详解如何创建一个.NET Core工程

    如何创建一个.NET Core工程 .NET Core是一个跨平台的开源框架,可以用于构建Web应用程序、命令行工具、桌面应用程序等。本攻略将详细介绍如何创建一个.NET Core工程,并提供两个示例说明。 创建.NET Core工程 我们可以按照以下步骤来创建一个.NET Core工程: 安装.NET Core SDK。 打开命令行工具。 使用dotnet…

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