Winfrom窗体间传值
1.通过tag属性传输,tag属性是存储与空间密切相关的数据。比如登陆界面的数据传输给主界面。
子窗体 主窗体
定义一个类
namespace FrmLogin {public class User{public string UserName { set; get; }public string PassWorld { set; get; }} }
子窗体.cs
private void buttonLogin_Click(object sender, EventArgs e){User user = new User();user.UserName = this.textBoxName.Text.Trim();user.PassWorld = this.textBoxPassWorld.Text;this.Tag = user;this.DialogResult = DialogResult.OK;}
父(主)窗体.cs
private void FormMain_Load(object sender, EventArgs e){FormLogin frm = new FormLogin();if (frm.ShowDialog() == DialogResult.OK){User user = frm.Tag as User;this.Text += string.Format("--欢迎您:{0}", user.UserName);}else{frm.Close();}}
2.创建一个类,相当于创建了全局共享的静态变量,然后大家都来访问这个静态变量。
全局类.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace FrmLogin {public class ConText{public static User UserLogin = null;} }
子窗体.cs
private void buttonLogin_Click(object sender, EventArgs e){User user = new User();user.UserName = this.textBoxName.Text.Trim();user.PassWorld = this.textBoxPassWorld.Text;//this.Tag = user; ConText.UserLogin = user;this.DialogResult = DialogResult.OK;}
主窗体.cs
private void FormMain_Load(object sender, EventArgs e){FormLogin frm = new FormLogin();if (frm.ShowDialog() == DialogResult.OK){// User user = frm.Tag as User;User user = ConText.UserLogin;this.Text += string.Format("--欢迎您:{0}", user.UserName);}else{frm.Close();}}
3.利用子窗体tag属性
子窗体.cs
private void buttonLogin_Click(object sender, EventArgs e){User user = new User();user.UserName = this.textBoxName.Text.Trim();user.PassWorld = this.textBoxPassWorld.Text;FormLogin main = this.Owner as FormLogin;if (main == null){MessageBox.Show("LOGIN窗体没有Owner,请检查代码!!");}main.Tag = user;this.DialogResult = DialogResult.OK;}
父窗体.cs
private void FormMain_Load(object sender, EventArgs e){FormLogin frm = new FormLogin();if (frm.ShowDialog(this) == DialogResult.OK)//这儿一定要加this {User user = this.Tag as User;this.Text += string.Format("--欢迎您:{0}", user.UserName);}else{frm.Close();}}
转载于:https://www.cnblogs.com/youthshouting/p/4361036.html
Winfrom窗体间传值相关推荐
- Pyqt 窗体间传值
窗体间传值网上有好多方法,比如新建文件,先将子类窗体的数据传到文件中,父窗体读取文件. Signal&Slot机制进行传值 等等 在这里,我们就举个采用apply方法:Signal& ...
- 构造函数实现窗体间传值
///Form1.cs the form contains a textbox and a button using System; using System.Collections.Generic; ...
- (C#)WinForm窗体间传值
1.通过构造函数 特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在窗体Form2中 int value1; string value2; public Form2 ( int val ...
- 用委托实现窗体间传值
1.新建一个工程.在Form1中添加一个Label和一个Button.新建一个事件类,让它有一个string 类型的属性,用于传值. 1 ///ReturnValueEventArgs.cs 2 u ...
- C# 窗体间传值(使用委托与自定义事件)
using System; using System.Drawing; using System.Windows.Forms; namespace 跨窗体调用控件 { public partial c ...
- 窗体间传值和窗体间互操作
今天遇到一个非常棘手的问题:子窗体在关闭时传递一个对象给父窗体.窗体关闭时会发生数据验证,当数据不正确时,窗体不可关闭. 由于编写之初总在思考一个完美的办法,导致代码总无法通过,最后,不得不使用最笨拙 ...
- 利用事件进行窗体间传值
为什么80%的码农都做不了架构师?>>> 举例,现在有两个窗体,SelectForm窗体查询信息集合,使用DataGridview显示信息集合,EditForm窗体添加和修改信 ...
- WFA程序C#窗体间传值
首先定义两个Form,一个为Form1,一个为Form2,其中Form1作为父窗口,Form2作为子窗口 1.父窗口传值给子窗口 Form1中代码: public Form1() { Initiali ...
- QT实现串口调试助手(七):字体设置面板创建及窗体间传值
上一篇: QT实现串口调试助手(六):页面布局 QT串口工具相关文章链接 一般串口调试工具都有修改串口接收框字体的功能面板,我们也来加一个: 1.先创建一个字体设置面板 比如我们创建一个widget, ...
最新文章
- [NOI 2015]荷马史诗
- oracle查看表和索引碎片,Oracle 表空间索引存储与碎片检查
- 神经网络模拟条件反射
- Smarty foreach
- c++中堆、栈内存分配概念示例讲解
- 在windows下,编译可访问https的libcurl静态库过程
- 10个开源工业检测数据集汇总
- 基于Confluent+Flink的实时数据分析最佳实践
- 数字超材料uv坐标matlab,基于数字编码超材料和压缩感知的实孔径雷达成像方法与流程...
- MATLAB机器人工具箱的下载与安装
- (仅对于普通12分频的51单片机而言)机器周期,时钟周期,晶振振荡频率(fosc)的关系;(51、32通用)分频的原理和作用
- 快速入门基于区块链的BPM系统--汇流BPM
- ZCMU-1428: Bit++ (水)
- 找工作神器,提取各大网站有效的招聘信息(前程无忧、智联招聘、猎聘网)...
- torch.meshgrid 使用探究
- php7 kernel32,usleep()
- python读取pdf文件并转换成txt文件
- java zip压缩解压_JAVA实现实用的ZIP压缩与解压
- 迅雷看看看电影,画面是绿色的,不能看
- 二层广播(帧广播)和三层广播(路由器广播)有什么区别?