Winfrom窗体间传值
生活随笔
收集整理的这篇文章主要介绍了
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窗体间传值的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: (64位oracle使用32位的PLSQ
- 下一篇: 关于jdk1.5之后的自定拆装箱