由ListBox控件自动管理的通用对象?

时间:2014-10-13 09:17:17

标签: c# winforms listbox

我使用ListBox控件看到的所有examples使用string数据或List<string>数据源。

如果要为WinForms ListBox控件充当数据源,新类的基本要求是什么?

1 个答案:

答案 0 :(得分:2)

就个人而言,我会按照ListBoxItem列表的行来做一些事情。 T&gt;,然后ListBoxItem看起来像这样:

public class ListBoxItem<T>
{
    private Func<T, string> _getText;

    public T Item { get; private set; }

    public ListBoxItem<T>(T item, Func<T, string> getText)
    {
        Item = item;
        _getText = getText;
    }

    public override string ToString()
    {
        return _getText(Item);
    }
}

然后每当ListBoxItem显示在ListBox视图中时,框架本身将调用ToString,并且您已经指定了它应该如何显示。

希望这可以解决问题。