
正文
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(); } }





