有没有办法使变量超过形式

本文关键字:变量 有没有 | 更新日期: 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; }