C#如何在子窗体中调用父窗体控件
在winform开发中,我们会经常用到子窗体,如何利用子窗体获取父窗体的控件,从而调用控件呢,下面举个例子。
操作方法
- 01
首先建立一个C#项目,在项目上新建一个窗体Form1,这里Form1用来做一个父窗体。在Form1上放置两个控件,一个Label控件:label1,一个Button控件 :button1.如图所示。
- 02
然后再新建一个窗体Form2,这个Form2用来做子窗体。在Form2上放置两个控件,一个Button控件:button1,一个TextBox控件:textbox1。如图所示。
- 03
功能演示说明:点击Form1的button1弹出子窗体Form2,在Form2的textbox1上输入信息,点击子窗体的button1,可以在父窗体Form1上的lable1上显示出刚刚输入的信息。效果如图所示。
- 04
通过演示说明子窗体调用了父窗体的label1控件,赋值了子窗体textbox1输入的信息,现在回过头了看代码。双击父窗体Form1的button1,进入代码界面,输入如下代码: Form2 f = new Form2(this); f.Show();
- 05
在Form2上的button1上双击,进入代码编辑界面输入如下代码。 if (form1 != null) { Label l = (Label)form1.Controls.Find("label1", false)[0]; l.Text = textBox1.Text; } 为方便查看和复制,同时上图和代码,图片划线的就是要输入的代码。
- 06
代码说明:在子窗体中把父窗体当做参数在子窗体初始化的时引用,使用 Label l = (Label)form1.Controls.Find("label1", false)[0]; 获取到想要的控件,其中Label1是父窗体中控件id(名称),获取后就可自由操作了。