有没有办法使变量超过形式
本文关键字:变量 有没有 | 更新日期: 2023-09-27 17:50:46
我有一个程序,其中有两个窗体。有没有一种方法可以让Form1
中的变量出现在Form2
中而不需要创建类或函数?
我创建了form2:
Form2 form2 = new Form2();
private void button1_Click(object sender, EventArgs e)
{
form2.show();
}
如果您从Form1
打开Form2
,您可以通过以下几种方式:
-
在
Form2
上创建一个构造函数,接受你想传递的值 -
在
Form2
上创建一个属性,并在显示Form2
之前设置它 -
你可以选择传递一个引用给
Form1
(通过构造函数或属性),并在Form2
中使用它来读取Form1
的属性值。
你可以通过它们的构造函数(依赖注入)在两个表单之间"共享"一个对象。
。
Form1Ctor(SharedObject obj)
Form2Ctor(SharedObject obj)
var obj = new SharedObject();
var form1 = new Form1(obj);
var form2 = new Form2(obj);
如果该属性仅在单个表单中使用,则可以将其设置为静态
。
public static string s { get; set; }