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之后的自定拆装箱