欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Winfrom窗体间传值

发布时间:2024/4/15 编程问答 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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窗体间传值的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。