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();
}
}
Winfrom窗体间传值的更多相关文章
- Pyqt 窗体间传值
窗体间传值网上有好多方法,比如新建文件,先将子类窗体的数据传到文件中,父窗体读取文件. Signal&Slot机制进行传值 等等 在这里,我们就举个采用apply方法:Signal& ...
- C# winform窗体间传值(使用委托或事件)
窗体间传值 今天得空,刚好看到网上好多人再找winform窗体间传值的问题,由于昨天项目的优化的感觉不错,就写了个C# winform窗体间传值的demo,希望能给需要的人的带来帮助: 工程的源代码地 ...
- 【转】WinForm窗体显示和窗体间传值
以前对WinForm窗体显示和窗体间传值了解不是很清楚 最近做了一些WinForm项目,把用到的相关知识整理如下 A.WinForm中窗体显示 显示窗体可以有以下2种方法: Form.ShowDial ...
- C#利用事件与委托进行窗体间传值简单小例子
本篇博客是利用C#委托与事件进行窗体间传值的简单小例子 委托与事件的详细解释大家可以参照张子阳的博客: http://www.tracefact.net/CSharp-Programming/Dele ...
- QT窗体间传值总结之Signal&Slot
在写程序时,难免会碰到多窗体之间进行传值的问题.依照自己的理解,我把多窗体传值的可以使用的方法归纳如下: 1.使用QT中的Signal&Slot机制进行传值: 2.使用全局变量: 3.使用pu ...
- C#窗体间传值的简便方法/工具
一.问题:窗体间传值必须需要窗体之间有联系,具体有如下方式 窗体间传值涉及到窗体A必须拥有窗体B,这样才可以实现A-B之间传值 窗体A与窗体B在窗体/实例C中,A-B可互相通讯 其他方式,不细讨论,复 ...
- winform 窗体间传值
WinForm 两窗体之间传值实例 2010-12-27 22:10:11| 分类: 学业|举报|字号 订阅 下载LOFTER我的照片书 | 窗体Form1和Form2 Form2 ...
- ASP.NET 窗体间传值实现方法详解
假设ParentForm.aspx 页面上有TextBox1文本框和Open按钮点击Open按钮弹出SubForm.aspx,SubForm.aspx页面上有TextBox1文本框和Close按钮点击 ...
- (C#)WinForm窗体间传值
1.通过构造函数 特点:传值是单向的(不可以互相传值),实现简单 实现代码如下: 在窗体Form2中 int value1; string value2; public Form2 ( int v ...
随机推荐
- (转)linux sort,uniq,cut,wc命令详解
linux sort,uniq,cut,wc命令详解 sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些 ...
- [CF888G]Xor-MST
题目大意:给一个$n$个点的完全图,第$i$个点有点权$v_i$,一条边$x-y$的边权为$v_x\oplus v_y$,求最小生成树 题解:明显$Kruskal$和$Prim$都会$TLE$,有一种 ...
- 【BZOJ1486】最小圈(分数规划)
[BZOJ1486]最小圈(分数规划) 题面 BZOJ 洛谷 求图中边权和除以点数最小的环 题解 分数规划 二分答案之后将边权修改为边权减去二分值 检查有无负环即可 #include<iostr ...
- BZOJ3542 DZY Loves March 【map + 线段树】
题目链接 BZOJ3542 题解 线段树裸题,,对每一行每一列开线段树 由于坐标很大,用\(map\)维护根下标 化一下式子,只用维护区间和,区间平方和,区间存在的个数 #include<alg ...
- UVA.12096 The SetStack Computer ( 好题 栈 STL混合应用)
UVA.12096 The SetStack Computer ( 好题 栈 STL混合应用) 题意分析 绝对的好题. 先说做完此题的收获: 1.对数据结构又有了宏观的上的认识; 2.熟悉了常用STL ...
- python3.5安装pycrypto
在python中使用AES加密是一种有效的加密方式,如果你研究过微信公众号api就会发现,它也用的是这个加密的.在写代码的时候,要安装crypto模块,在linux或者mac上都好说,但是在windo ...
- Eclipse ADT插件 匹配的sdk tools版本
Eclipse android ADT插件最后的版本为ADT 23.0.7 (August 2015),google不再更新. 和之匹配的android tools版本为SDK Tools r24.1 ...
- syslog大小限制
位置 /etc/logrotate.d/rsyslog 相关配置信息察看man logrotate size k/M/G /var/log/syslog { rotate daily missingo ...
- OpecnCV训练分类器详细整理
本文主要是对下面网址博客中内容的实例操作: http://blog.csdn.net/byxdaz/article/details/4907211 在上述博客中,详细的讲述了OpenCV训练分类器的做 ...
- 51Nod 1082 | 模拟
Input示例 5 4 5 6 7 8 Output示例 30 55 91 91 155 模拟 #include "bits/stdc++.h" using namespace s ...