如何在Form1,WinForms C#中使用Form2的变量?

我在Visual Studio 2013中有一个包含两个表单的解决方案。 我想当按下Form2中的按钮时,变量flag_fb被更新,我在Form1中使用它的值。 有没有办法做到这一点? 谢谢。

方法1:使用参数化构造函数在表单之间传递变量

Form1创建一个参数化构造函数,并从Form2调用Form1参数化构造函数:

 //form1 code bool flag_fb =false; public Form(bool flag_fb) { this.flag_fb = flag_fb; } 

Form2调用Form1参数化构造函数,如下所示:

 //form2 code Form1 form1=new Form1(flag_fb); from1.Show(); 

方法2:Form2创建变量flag_fb作为public static变量,以便可以从Form1访问它。

 //Form2 code public static bool flag_fb = true; 

要从Form1访问flag_fb variable ,只需使用className,如下所示:

 //Form1 code bool form2flagValue = Form2.flag_fb ; 

这样的事也应该有效。

 // Open form2 from form1 using (Form2 form2 = new Form2()) { if (form2.ShowDialog() == DialogResult.OK) { m_myVal = form2.flag_fb; } } 

您应该确保flag_fbForm2公共成员变量,并确保在用户单击OK时将其设置为所需的值。