构造函数可以传任意类型的值,并可以同时传多个值
结构函数传值的初步应用——简单的登陆式界面
现在我有两个窗体Form3和Form4,如下,如何点击Form3中的按钮后,打开Form4并将Form3中的textbox中的值传给Form4的label?
1、点击Form3中的按钮打开Form4 2、获取Form3中的值 3、传值给Form4中的label
一、获取Form3中textbox1的值
button1的点击事件:
namespace 记事本 { public partial class Form3 : Form { public Form3() { InitializeComponent(); } //button1的点击事件 private void button1_Click(object sender, EventArgs e) { string s = textBox1.Text;//获取Form3中textbox的值 Form4 f4 = new Form4();//创建新的Form4 f4.Show();//展示Form4 } }
获取Form3中button1的值,并打开Form4窗体二、通过构造函数传值 - 在新建Form4时将值传入,同时Form4的结构函数要接收相同类型的值,比如例子中传入string类型的值
namespace 记事本 { public partial class Form3 : Form { public Form3() { InitializeComponent(); } //button1的点击事件 private void button1_Click(object sender, EventArgs e) { string s = textBox1.Text;//获取Form3中textbox的值 Form4 f4 = new Form4(s);//创建新的Form4,并将数据s传入 f4.Show();//展示Form4 } } }
Form3 传值
namespace 记事本 { public partial class Form4 : Form { string str = null;//定义一个变量 public Form4(string txt) { InitializeComponent(); str = txt;//变量接收传入的值 } } }
Form4 接收传入的值三、将接收的值赋值给label1
namespace 记事本 { public partial class Form4 : Form { string str = null;//定义一个变量 public Form4(string txt) { InitializeComponent(); str = txt;//变量接收传入的值 label1.Text = str;//赋值 } } }
赋值四、测试:
=============================================================
结构函数传值的初步应用——关闭应用程序
如何关闭程序?比如说,系统启动时启动的是<启动页面Form3>,打开<主页面Form4>后,关闭Form4并不能关闭程序,而当关闭Form3时,程序才会关闭。
可是当关闭<主页面Form4>时并不能关闭<启动页面Form3>,程序依然无法退出,此时该如何关闭程序呢?
方法:将<启动页面Form3>窗体传入<主页面Form4>,此时Form4可以控制Form3行为,设置Form4关闭时,Form3同时关闭,即可实现应用程序关闭。
将窗体传入?将窗体传入后,既可以实现在一个窗体中控制另一个窗体。
如何将窗体传入?(this - 代码所在的窗体)