如何关闭窗口1后,把窗口1的某个值传给窗口2?
窗口1有一个关闭按钮和一个string数值,点关闭后,会打开窗口2,并关闭自身,我在窗口LOAD事件里面无法获取窗口1里面的string的数值,隐藏后可以获取,但是关闭后无法获取。请问可以在关闭窗口1的情况下,打开窗口2后获取数值吗?是怎么实现的?把数值存放在内存中,在让窗口2读取?请给出相关的代码....我是初学C#的...不要讲的太复杂...真心看不懂.....
using System; using System.Collections.Generic; using using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Threading;//线程引用 namespace FrmToNext { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string pass;//接收txtbox的值 private void button1_Click(object sender, EventArgs e) { pass=this.textBox1.Text.Trim(); Thread th = new Thread(new ThreadStart(GotoFrm2));//创建线程 th.SetApartmentState( ApartmentState.STA);//设置线程单元状态为STA (注:这句是后来加上的,刚开始忘记会有THreadStateException异常了) th.Start();//开启线程 } public void GotoFrm2() { Application.Exit();//关闭当前 Application.Run(new Form2(pass));//打开窗体2 } } }窗体2:
using System; using System.Collections.Generic; using using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace FrmToNext { public partial class Form2 : Form { public Form2() { InitializeComponent(); } public Form2(string getstr) //getstr就是form1传给form2的值 { InitializeComponent(); this.label1.Text = getstr; } } }
private void button1_Click(object sender, EventArgs e) { // 省略 判断账号和密码是否正确? frmMain fm = new frmMain(); this.Hide(); //隐藏当前窗体 fm.Username = this.txtUserName.Text; //把用户名传值给要显示的这窗体 fm.Show(); }在窗体在定义一个属性,用于记录用户名
public partial class frmMain : Form { public string Username = string.Empty;//就是加这一句,定义并初始化 public frmMain() { InitializeComponent(); } private void frmMain_Load(object sender, EventArgs e)//加载该窗体时把Username用label或Textbox控件显示出来 { this.label1.Text = Username; } }其他方法也很简单,你自己网上找找看看!