如何将form2中的bool变量传递回form1?

时间:2011-11-21 06:16:45

标签: c#

我正在尝试从表单2传递bool变量并将其放入表单1.您将如何执行此操作?

5 个答案:

答案 0 :(得分:3)

1,按实例参数

  bool flg = false;
  form1 f1 = new form1(flg);
  f1.show();

2,由公共财产。

  form1 f1 = new form1();
  f1.FLG = false;
  f1.show();

3,通过公共集方法

  form1 f1 = new form1();
  f1.SetFlg(false);
  f1.show();

答案 1 :(得分:2)

您需要编写公共property/method以在表单之间返回(交换)数据。首先,您需要了解 - 如何从另一个类的对象的方法/属性访问一个类的对象的属性/方法?

例如,在Status类中创建公共属性Form2

public partial class Form2
{
  ...
  private bool _status; 
  public bool Status
   {
    get
     {
      return _status;
     }
    set
    {
      _status=value;
     }
   }
  ....
}

现在,如果要从Form1方法中获取Status属性的值。

public partial class Form1
{
   ....
   protected void Button1_Click(object sender, EventArgs e)
   {
    Form2 frm=new Form2();
    frm.ShowDialog();
    bool status=frm.Status;
   }
}

答案 2 :(得分:1)

我使用的是界面。

 public interface IForm
 {
    bool GetResult();
 }
 // form 2
 public partial class Form2 : Form, IForm (...)
 private bool Result;
 public bool GetResult()
 {
  return Result;
 }

 // form 1
 var form2 = new Form2();
 ((IForm)form2).GetResult();

答案 3 :(得分:1)

//In Form1 define global static bool variable
Form1
{ 

public static bool variable;

}

// In Form2 call it
Form2
{
   Form1.variable = true;
}

答案 4 :(得分:1)

试试这个:

表格1:

//Create global variable
public bool test;
//Initialize the form
Form2 f2 = new Form2(this);
f2.ShowDialog();

表格2:

Form1 originalForm;
public Form2(Form1 incomingForm)
{
    originalForm = incomingForm;
    InitializeComponent();
}

设置或得到这样的: originalForm.test

希望它有效