我正在尝试从表单2传递bool变量并将其放入表单1.您将如何执行此操作?
答案 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
希望它有效