我在网上找了个窗体之间传值的方法,代码如下:↓Form1中放一个Label1,一个Button1,Form1为主窗口,当点击Button1时,执行:
Form2 f2 = new Form2();
f2.ShowDialog(this);Form2中放一个TextBox1,一个Button1,当点击Button1时执行:
Form1 f1 = (Form1)this.Owner;
f1.Label1.Text = this.TextBox1.Text;
注意:Form1中的label1要设为public
Form1 f1 = (Form1)this.Owner;这句应该怎么理解哦??谁能教我一下?
还有Owner的用法是???
Form2 f2 = new Form2();
f2.ShowDialog(this);Form2中放一个TextBox1,一个Button1,当点击Button1时执行:
Form1 f1 = (Form1)this.Owner;
f1.Label1.Text = this.TextBox1.Text;
注意:Form1中的label1要设为public
Form1 f1 = (Form1)this.Owner;这句应该怎么理解哦??谁能教我一下?
还有Owner的用法是???
一句将Form1的一个实例(this)传给了f2,而ShowDialog会把this赋值给f2的Owner属性。如此以来,你就可以使用代码中的强制转换了。就是这个原理,并不是.NET的首创。Delphi的VCL也是如此。
http://www.lokcore.com/sunny
里面有涉及到winform窗体互相传值的问题,有讲解owner的用法和代码,希望对你有所帮助!