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

时间:2015-01-15 06:58:09

标签: c# winforms scope

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

2 个答案:

答案 0 :(得分:1)

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

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

//form1 code

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

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

//form2 code

Form1 form1=new Form1(flag_fb);
from1.Show();

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

//Form2 code

public static bool flag_fb = true;

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

//Form1 code

bool form2flagValue = Form2.flag_fb ;

答案 1 :(得分:1)

这样的事也应该有用。

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

   m_myVal = form2.flag_fb;

 }

}

您应该确保flag_fbForm2的公共成员变量,并且 例如,当用户单击“确定”时,还要确保将其设置为所需的值。