1

我正在使用 Visual Studio 2010 for C#,在构建我想要构建的应用程序之前,我正在处理一些类和对象。

我构建的表单有一个 form1_load 事件,它创建了一个我想在整个表单中操作的对象的实例。

当我单击一个按钮时,我希望能够调用我的对象的方法之一来执行一些语句。但是我无法让它工作,它告诉我该对象在当前上下文中不存在,如何将此对象传递给单击事件以便我可以操作它?

public void Form1_Load(object sender, EventArgs e)
    {
        MyPerson bozo = new MyPerson("bozo",48,23);
        textBox2.Text = bozo.name;
    }

    public void button1_Click(object sender, EventArgs e)
    {

        bozo.myMethod(); // c# is saying that this object doesn't exist in the current context.
    }

我理解类结构和对象没问题,但我经常被困在不同的地方访问它们。

4

1 回答 1

4

Your object is a local variable in Form_Load, so it exists there only. You could make it a field or property in the form. For example:

private MyPerson bozo { get; set; }

public void Form1_Load(object sender, EventArgs e)
{
    bozo = new MyPerson("bozo",48,23);
    textBox2.Text = bozo.name;
}

public void button1_Click(object sender, EventArgs e)
{
    bozo.myMethod(); // now you can access it since it "lives" in the whole form
}
于 2013-07-14T21:16:42.200 回答