2015-04-06 108 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