我有一个程序,里面有两个表单。有没有办法让Form1
中的变量显示在Form2
而不必创建类或函数?
我做了form2:
Form2 form2 = new Form2();
private void button1_Click(object sender, EventArgs e)
{
form2.show();
}
答案 0 :(得分:2)
如果您从Form2
打开Form1
,可以通过多种方式进行操作:
在Form2
上创建一个接受您想要传递的值的构造函数。
在Form2
上创建一个属性,并在显示Form2
之前进行设置。
您可以选择将引用传递给Form1
(通过构造函数或属性),并在Form2
中使用它来读取Form1
的属性值。
答案 1 :(得分:0)
你可以通过他们的构造函数(依赖注入)在两个表单之间“共享”一个对象。
e.g。
Form1Ctor(SharedObject obj)
Form2Ctor(SharedObject obj)
var obj = new SharedObject();
var form1 = new Form1(obj);
var form2 = new Form2(obj);
答案 2 :(得分:0)
如果该属性仅用于单个表单,则可以使其成为静态
e.g。
public static string s { get; set; }