2012-10-10 60 views
0

在線上完成一個教程後,使用Get和Set類的基本程序。我試圖弄清楚如何從文本框中設置一個值,以便將其存儲在我的「存儲類」中,清除文本框中的數據,然後再次「獲取」數據以顯示在文本框中,以便證明我的第一次輸入的數據是正確的,如果這是有道理的。
所以我的表單有3個按鈕,設置,清除,獲取和1個文本框。 這裏是我的'存儲類的代碼,C#與使用獲取集合卡住

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,但我不能似乎不知道如何存儲首次輸入的數據。 有什麼幫助嗎? 謝謝。

回答

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();    
}  
+0

工作!這些小東西總能吸引我:P Cheers哥們 – user1353517

1

你的問題是,你正在創建你的點擊處理程序(實例)Stored類型的新的和完全獨立的對象。 Stored類的MyProperty是一個實例屬性,僅屬於該對象的特定實例。

您需要做的是在表單中創建一個Stored對象作爲類成員,並在兩個處理程序中引用它,而不是創建新對象。

換句話說,Oded在我點擊提交前兩分鐘說的!