2015-04-06 144 views
0

我試圖從另一個類訪問我的BindingList,但我不確定如何去做。從另一個類訪問BindingList

這是從我的窗體2類我的代碼:

public partial class Form2 : Form 
{ 
    //List containing the memos added 
    public static BindingList<memo> memosList = new BindingList<memo>(); 
    //Now the list needs to be initialized so i can use it elsewhere 
    public static BindingList<memo> Memos 
    { 
     get { return memosList; } 
     set { memosList = value; } 
    } 

    //... 

這裏是代碼從我Form3類:

private void CreateMemo(object sender, EventArgs args) 
{ 
    memo memosList = new memo(); 
    memosList.Add(
     new memo(priorityNumber.Text, memoTitle.Text, memoDescription.Text)); 
} 

我怎麼會在窗體2訪問列表中,這樣我可以添加/刪除它的項目?

+0

請參見[56,「問題包括‘標籤’,在他們的頭銜?」] (http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles),其中的共識是「不,他們不應該」! –

回答

0

BindingList<memo>被聲明爲靜態屬性,因此您可以通過Form2.Memos來添加或刪除Form3類中的項目。

private void CreateMemo(object sender, EventArgs args) 
{    
    Form2.Memos.Add(
      new memo(priorityNumber.Text, memoTitle.Text, memoDescription.Text)); 
} 
0

因爲您已將memolist設爲公共靜態,所以爲它設置屬性是沒有意義的。 Martijn van Put提供了一個很好的答案,但我不明白爲什麼有兩個變量名稱指向相同的內存位置。

這也確實是的Martijn麪包車把

private void CreateMemo(object sender, EventArgs args) 
{    
    Form2.memoslist.Add(
      new memo(priorityNumber.Text, memoTitle.Text, memoDescription.Text)); 
} 

下面是使用屬性參考......同樣的事情https://msdn.microsoft.com/en-us/library/w86s7x04.aspx