如何在另一事件中访问在一个事件中创建的对象

本文关键字:事件 一个 创建 对象 访问 | 更新日期: 2023-09-27 17:57:56

我在on event中创建了一个对象,现在我想让另一个事件访问它。我该怎么做?

我在Visual Studio 2010中执行此操作。

我有一个包含三个按钮事件的表单。第一个按钮创建一个对象。我想要第二个按钮来使用该对象。我该怎么做?

   public void buttonCreate_Click(object sender, EventArgs e)
    {
        int size;
        int sizeI;
        string inValue;
        inValue = textBoxSize.Text;
        size = int.Parse(inValue);
        inValue = comboBoxSizeI.Text;
        sizeI = int.Parse(inValue);
        Histrograph one = new Histrograph(size, sizeI);
    }
    public void buttonAddValue_Click(object sender, EventArgs e)
    {
        int dataV = 0;
        string inValue;
        inValue = textBoxDataV.Text;
        dataV = int.Parse(inValue);
        one.AddData(dataV); //using the object
    }

如何在另一事件中访问在一个事件中创建的对象

如果我正确解析了您的问题,那么您希望在buttonAddValue_Click中使用在buttonCreate_Click中创建的one变量。

为了实现这一点,您需要使one成为一个类变量,如:

 class MyForm : Form
 {
    Histogram one;
public void buttonCreate_Click(object sender, EventArgs e)
{
    int size;
    int sizeI;
    string inValue;
    inValue = textBoxSize.Text;
    size = int.Parse(inValue);
    inValue = comboBoxSizeI.Text;
    sizeI = int.Parse(inValue);
    one = new Histrograph(size, sizeI);  // NOTE THE CHANGE FROM YOUR CODE
}
public void buttonAddValue_Click(object sender, EventArgs e)
{
    int dataV = 0;
    string inValue;
    inValue = textBoxDataV.Text;
    dataV = int.Parse(inValue);
    one.AddData(dataV); //using the object
}

您可以通过使用私有变量而不是本地变量来实现这一点

//Declare a private variable
private object _myObject
public void Event1Handler(object sender, EventArgs e)
{
     //Create the object
     _myObject = CreateTheObject();
}

public void Event2Handler(object sender, EventArgs e)
{
    //Use the object
    UseTheObject(_myObject);
}