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 ...
随机推荐
- hadoop 使用Avro排序
在上例中,使用Avro框架求出数据的最大值,本例使用Avro对数据排序,输入依然是之前的样本,输出使用文本(也可以输出Avro格式). 1.在Avro的Schema中直接设置排序方向. dataRec ...
- 「CodePlus 2017 12 月赛」白金元首与独舞
description 题面 data range \[ 1 \leq T \leq 10, 1 \leq n, m \leq 200 , 0 \leq k \leq \min(nm, 300)\] ...
- 2018牛客多校第四场 J.Hash Function
题意: 给出一个已知的哈希表.求字典序最小的插入序列,哈希表不合法则输出-1. 题解: 对于哈希表的每一个不为-1的数,假如他的位置是t,令s = a[t]%n.则这个数可以被插入当且仅当第s ~ t ...
- HDU5115:Dire Wolf——题解+翻译
http://acm.hdu.edu.cn/showproblem.php?pid=5115 题目大意:给n匹狼,每一次攻击可以秒杀一匹狼,但同时会受到这匹狼的a攻击和它相邻两只狼的b攻击. 给定a, ...
- syslog服务器配置笔记
syslog服务器可以用作一个网络中的日志监控中心,rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息.本文我们来讲讲在 Linux 上配置一个 sysl ...
- 【线性DP】【lgP1336】最佳课题选择
传送门 Description Matrix67要在下个月交给老师n篇论文,论文的内容可以从m个课题中选择.由于课题数有限,Matrix67不得不重复选择一些课题.完成不同课题的论文所花的时间不同.具 ...
- ExtJs在页面上window再调用Window的事件处理
今天在开发Ext的过程中遇到了一个恶心的问题,就是在ext.window页面,点击再次弹出window时,gridpanel中的store数据加载异常,不能正常被加载,会出现缓存,出现该问题,是因为w ...
- hdu 5621
KK's Point Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- Magic FZU - 2280 无脑HASH暴力
Kim is a magician, he can use n kinds of magic, number from 1 to n. We use string Si to describe mag ...
- Robotframework Web自动化实战课程
想学习的小伙伴,现在可以报名了!!!7月1日正式开课本期课程主要是web自动化为主,根据平时工作经验整理的一套流程以及使用过程中常见的问题总结.学完后能很快上手,即学即用,课后遇到问题在线解答,远程协 ...