从另一个类访问BindingList

时间:2015-04-06 20:55:43

标签: c#

我试图从另一个类访问我的BindingList,但我不确定该怎么做。

以下是我的Form2类的代码:

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));
}

如何访问Form2中的列表以便我可以添加/删除项目?

2 个答案:

答案 0 :(得分:0)

BindingList<memo>被声明为静态属性,因此您可以使用Form2.Memos添加或删除Form3类中的项目来访问它。

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

答案 1 :(得分:0)

因为你已经将你的memolist公开为静态,所以拥有它的属性是没有意义的。 Martijn van Put提供了一个很好的答案,但我不明白为什么有两个变量名称指向相同的内存位置。

这也和Martijn van Put

的做法相同
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