0

在按照在线教程制作一个使用 Get 和 Set 和类的基本程序之后。我试图弄清楚如何从文本框中设置一个值,以便将其存储在我的“存储类”中,清除文本框中的数据,然后再次“获取”数据以显示在文本框中,这样就证明了如果有意义的话,我的第一个输入数据已正确设置。
所以我的表单有 3 个按钮,设置、清除、获取和 1 个文本框。这是我的“存储类”的代码,

    namespace Pracitse{
class Stored
{        

    private string Colour;
    private string getColour(string colour)
    {
        string displayColour;
        displayColour = colour;
        return displayColour;
    }


    public string MyProperty 
    {
        get { return Colour; }
        set{ Colour = getColour (value) ;}
    }   
    }

这是我表单中的代码:

    private void setBtn_Click(object sender, EventArgs e){          
        Stored Details = new Stored();
        string setcolour;
        setcolour = Details.MyProperty;
        Details.MyProperty = colourBx.Text;             

    }

    private void getBtn_Click(object sender, EventArgs e)
    {
        Stored Details = new Stored();             
        string Displaycolour;
        Displaycolour = Details.MyProperty;
        colourBx.Text = (Displaycolour);                     
    }

    private void clrBtn_Click(object sender, EventArgs e)
    {            
        colourBx.Clear();            
    }       
}}

我使用谷歌并尝试关注其他 tuts,但我似乎无法弄清楚如何存储第一个输入的数据。有什么帮助吗?谢谢。

4

2 回答 2

8

每次你这样做Stored details = new Stored();,你都会有一个的、不同 Stored的对象。

您需要共享一个:

Stored details = new Stored();

private void setBtn_Click(object sender, EventArgs e){          
    details.MyProperty = colourBx.Text;             
}

private void getBtn_Click(object sender, EventArgs e)
{
    string Displaycolour;
    Displaycolour = details.MyProperty;
    colourBx.Text = Displaycolour;
}

private void clrBtn_Click(object sender, EventArgs e)
{            
    colourBx.Clear();            
}    
于 2012-10-10T18:46:32.953 回答
1

您的问题是您正在Stored单击处理程序中创建(实例化)一个新的且完全独立的类型对象。您的MyPropertyStored 类是一个实例属性,仅属于该对象的特定实例。

您需要做的是在表单中创建一个单独的 Stored 对象作为类成员,并在两个处理程序中引用它,而不是创建新对象。

换句话说,奥德在我点击提交前两分钟所说的话!

于 2012-10-10T18:49:56.957 回答