0

我需要给一个列表起个名字,以及另外实现一两个有用的方法。所以这是我的程序架构:

public class A 
{
    public void Method1()
    {
    ...
    }

    public override string ToString()
    {
    ...
    }
}

public class B : List<A>
{
    public override string ToString()
    {
    ...
    }

    public void Method2()
    {
    ...
    }
}

然后,在我的主窗体中,我正在创建和实例化:

BindingList<B> MyList = new BindingList<B> MyList();

要将它与 CheckedListBox 一起使用,我正在使用:

MyListBox.DataSource = MyList;

然后当我向 MyList 添加一个新元素时,我在 CheckedListBox 中得到了错误的文本。事实上,它只显示一个字符串“(Collection)”,即使我在 MyList 中有多个项目 我的代码有什么问题?

4

1 回答 1

0

它没有正确地将列表绑定到您的数据源。

您可以像使用数据源和 CheckBoxList中的第一个答案一样添加它们,而不是传入列表

foreach (var item in MyList)
    MyListBox.Items.Add(item.WhateverFieldYouWantToBind, false); // second param is whether it's checked or not
于 2013-08-23T13:30:11.827 回答