C# 2张表格,将第2张表格上的控件公开给第1张

C# 2张表格,将第2张表格上的控件公开给第1张,c#,forms,C#,Forms,为了让表单1上的按钮单击更新表单2上的值,表单2上的控件必须是公共的。我在Form2.Designer.cs中得到了这个问题,在这里我声明了一个公共控件,比如: public System.Windows.Forms.TextBox txtPrint; 但是,即使我在InitializeComponent()方法中显示此选项,它也不会出现并给出错误: 变量“txtPrint”未声明或从未赋值 但是,此控件是声明的-只是不在InitializeComponent()方法中。如果我试图在Initi

为了让表单1上的按钮单击更新表单2上的值,表单2上的控件必须是公共的。我在Form2.Designer.cs中得到了这个问题,在这里我声明了一个公共控件,比如:

public System.Windows.Forms.TextBox txtPrint;
但是,即使我在
InitializeComponent()
方法中显示此选项,它也不会出现并给出错误:

变量“txtPrint”未声明或从未赋值

但是,此控件是声明的-只是不在
InitializeComponent()
方法中。如果我试图在
InitializeComponent()
方法中公开控件,它会抛出一个错误:

无效的公共表达式

这是有意义的,因为
InitializeComponent()
方法是私有的。像链接的问题一样,我试图公开表格2上的控件,以便从表格1更新。与答案一样,我本以为在
InitializeComponent()
方法之外公开控件会允许这样做,但事实并非如此


这里我缺少什么?

控件是在运行时声明的吗?我知道了-它是两个:在
InitializeComponent()方法之外声明public,然后在内部添加新的文本框。感谢@NicoRiffUse设计师更改该控件的Modifiers属性。然而,将其公之于众往往是一种代码气味。