优秀的编程知识分享平台

网站首页 > 技术文章 正文

C# Win Form 窗体间传递参数的几种方法总结

nanyue 2024-10-04 18:29:12 技术文章 15 ℃

C# Win Form编程中,如果出现多个窗体可能需要多个窗体之间传递参数值,如通过登录页页面跳转到操作页面是需要将用户名作为参数传递给新打开窗口。网上所提供方法较多,针对初学者,本文选择其中几类较为简单的方法进行说明,希望对初学者有所帮助。首先给出需要传递值的两个窗口,父窗口A与子窗口B,如下:


本例题需要将A窗口中的值传递给A窗口打开的B窗口,并在B窗口中显示传递过来的值。主要实现方法描述如下:

1、构造函数方法

构造函数方法主要是指针对子窗口B修改其构造函数,默认情况自动生成的子窗口构造函数是不带参数的,可以将其修改为带参数形式,参数为接收的字符串类型。

改写后之后则可以在父窗口中对子窗口进行实例化时,传递参数值,实现在不同页面间进行参数的传递。其父窗口代码如下:

2、静态关键字实现传递值

在C#中静态关键字static定义的变量,可以被各个窗体对象所访问,因此可以实现在不同窗体之间进行值的传递。

在完成赋值之后,子窗口可通过该静态成员变量读取变量值实现参数传递效果,读取实现代码如下:

3、Public属性值传递

Public属性值传递主要是在子窗口中定义对应的public 属性用于接收传递过来的值,实现值传递。

父窗口在实例化子窗口时可对该属性进行赋值,通过赋值完成参数值的传递。

4、直接传递窗体实现参数传递

直接传递窗体是指将父窗体标识作为变量直接传递给子窗体,子窗体通过父窗体标识实现数据的读取。首先还是在子窗体中定义public的父窗体类型变量,然后实现传递:

父窗体在实例化该子窗体时直接将本身的标识this传递给子窗体,然后子窗体通过pfm读取父窗体控件中的值。

子窗体中通过pfm读取父窗体中的控件值,如下:

以上给出部分常用较为简单的窗体间数据传递的方法,除此之外委托、事件等方法也可实现参数传递,但对初学者而言相对复杂,不再介绍。最终测试实现效果如下图:


本头条号长期关注于青少年编程资讯分享;编程课程、素材、代码分享及青少年编程培训。如果您对以上方面有兴趣,可关注该头条号,如有编程学习问题可以联系作者,共同探讨。

往期内容分享如下:

  1. Win Form登录框本地记住密码功能实现
  2. C# Win Form 编程实现图片的数据库存储
  3. C# Win Form 实现XML文件读写
  4. C# Win Form 读取CSV文件数据
  5. C# Win Form 动态添加CheckBox控件

Tags:

最近发表
标签列表