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

How to use a variable of Form2 in Form1, WinForms C#?

我在 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: 创建变量 flag_fb 作为 Form2 中的 public static 变量,这样它也可以从 Form1 访问.

//Form2 code

public static bool flag_fb = true;

要从 Form1 访问 flag_fb variable 只需使用如下类名:

//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的public成员变量,并且 例如,还要确保在用户单击“确定”时将其设置为所需的值。