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日

相关文章

  • asp.net core 中优雅的进行响应包装的实现方法

    ASP.NET Core中优雅的进行响应包装的实现方法 在ASP.NET Core应用程序中,我们经常需要对响应进行包装,以便更好地处理错误和异常情况。本攻略将详细介绍如何在ASP.NET Core中优雅地进行响应包装。 响应包装 响应包装是指将响应数据包装在一个对象中,以便更好地处理错误和异常情况。通常,响应包装包括以下属性: 状态码:HTTP状态码,用于…

    C# 2023年5月17日
    00
  • .NET API 接口数据传输加密最佳实践记录

    以下是.NET API接口数据传输加密最佳实践记录的完整攻略: 1. 什么是API接口数据传输加密 API接口数据传输加密是指在API接口数据传输过程中,使用加密算法对数据进行加密,以保证数据的安全性和机密性。API接口数据传输加密可以防止黑客攻击、窃取数据、篡改数据等安全问题。 2. API接口数据传输加密的最佳实践 以下是API接口数据传输加密的最佳实践…

    C# 2023年5月12日
    00
  • C#仿密保卡功能的简单实现代码

    下面是关于“C#仿密保卡功能的简单实现代码”的完整攻略: 1. 什么是仿密保卡功能? 仿密保卡,顾名思义,是指通过某些方法实现和模拟传统的硬件密保卡的功能。传统的硬件密保卡大多采用一些特定的加密算法和密码体系,将用户的身份信息和敏感数据存储在卡片内部,在用户身份验证和数据交换等场景中发挥重要作用。 仿密保卡则是通过软件的方式实现这些功能,不需要依赖于硬件卡片…

    C# 2023年6月6日
    00
  • 超简单C#获取带汉字的字符串真实长度(单个英文长度为1,单个中文长度为2)

    首先介绍下如何用C#获取一个字符串的真实长度,在C#中可以使用String类中的Length属性来获取字符串的长度,但是需要注意的是Length属性返回的是字符串中字符的数量而不是字节数量。为了获取字符串的字节数量,可以使用Encoding类提供的GetBytes方法来获取字符串的字节数组,然后通过计算该数组的长度来得到字符串的字节数量。 具体的做法可以使用…

    C# 2023年6月8日
    00
  • 使用C#调用百度地图并实现坐标点的设置以及读取示例

    以下是使用C#调用百度地图并实现坐标点的设置以及读取的完整攻略。 准备工作 首先,我们需要在百度地图开放平台上申请一个API Key,用于调用地图API。在申请API Key时需要选择 “浏览器端”类型。申请成功后,将API Key保存下来备用。 调用百度地图API C#调用百度地图的基本思路是通过网络请求获取到百度地图的返回数据,然后进行解析、处理。具体流…

    C# 2023年5月15日
    00
  • C# List的用法小结

    针对题目“C# List的用法小结”的完整攻略,以下是我整理的详细讲解: 1. C# List 简介 C# List是.NET Framework中的一个通用集合类,可以存储一组对象,并且可根据索引值访问列表中的元素,支持添加、删除、排序等操作。List类是泛型类,其中“T”代表一个类型参数,表示列表中存储的元素的数据类型。由于是泛型类,因此可以根据不同的需…

    C# 2023年5月31日
    00
  • 微软.Net Core 1.0官方下载地址 .Net Core新特性汇总

    微软.Net Core 1.0官方下载地址 .Net Core新特性汇总 微软.Net Core 1.0官方下载地址 微软.Net Core 1.0是一个跨平台的开源框架,它可以在Windows、Linux和macOS等多个平台上运行。如果你想下载微软.Net Core 1.0,可以访问以下官方下载地址: https://dotnet.microsoft.c…

    C# 2023年5月16日
    00
  • 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月22日
    00
合作推广
合作推广
分享本页
返回顶部