c#使用以前的类和表单实例

时间:2015-02-17 00:35:44

标签: c# forms class

简单地说,我正在尝试从Form2中的按钮设置Form1中显示的复选框,选中或取消选中。 但是看完很多视频后,在教程中搜索,我意识到我目前面临的问题已经减少到:我不明白当第一个实例已经“制作”时,如何从另一个访问Class属性。< / p>

假设我创建了一个WindowFormApplication,它有一个Form1.cs :(这是一个例子)

public partial class Form1 : Form
{
    string someVariable;
    int moreVariables;

    public void someMethods()
    {
    //work with textBoxes, checkBoxes, etc
    }
//generate a new instance of a random class
Person p1 = new Person();
p1.name = textBox1.Text;
p1.age = Int.Parse(textBox2.Text);

}

suppouse我有另一种形式,Form2.cs

如何在Form2中使用相同的Person数据(p1)? 我知道使用实例的唯一方法是创建一个新实例,就像我在Form1中所做的那样。 以及如何在Form1中访问checkBoxes等? (他们像公共场所一样设置)

我不希望你为我的实际问题写一个解决方案,而是一个简短的解释,一个教程或视频的链接,这样我终于可以理解如何在其他情况下处理这个问题了。

谢谢,很抱歉重复。

1 个答案:

答案 0 :(得分:0)

在Form1中使用静态变量:

static Person p1;
p1 = new Person();

在form2中,引用p1,代码为:

Form1.p1.xxx = yyy;

如果您有多个Form1实例,请执行以下操作:

Form1中:

public Person p1 {get;set;}

窗体2:

Form1 instance1= new (...);
instnace1.p1.xxx= yyy;

Form1 instance2= new (...);
instnace2.p1.xxx= yyy;