当我将项目添加到CheckedListBox列表框时,我还想要存储对另一个对象的引用。我试着将这个对象的一个新实例添加到CheckedListBox。使用自定义对象(CheckedListBox).Items.Add()
public class CheckedListBoxExtention : CheckedListBox
{
private ReferenceItem _referenceItem;
public ReferenceItem storedItem
{
get { return _referenceItem; }
set { _referenceItem = value; }
}
public CheckedListBoxExtention(ReferenceItem storedItem)
{
_referenceItem = storedItem;
}
}
这工作在后来当我foreach虽然在CheckedListBox中的项目我有_referenceItem对象的引用。但是,当我添加这样的项目时,CheckedListBox显示为空白(GUI本身中的列表)。所以我试图找到一种方法来覆盖项目文本或类似的东西。
这是我用来解决我有点新包装问题
class ReferenceItemWrapper
{
private ReferenceItem _item;
public ReferenceItemWrapper(ReferenceItem item)
{
_item = item;
}
public ReferenceItem getItem
{get {return _item;}}
public override string ToString()
{
return _item.ToString();
}
}
的代码。为什么它在包装完成后无法正常工作?当我将ReferenceItem直接添加到CheckedListBox中时?
请不要使用“C#”开始您的主题行 - 这就是我们在[SO]标记的内容。 –
您是否想将CheckedListBox中的复选框替换为其他类型的控件,或者您只想将每个复选框与不同的对象关联起来? –