5

我想根据传递给表单构造函数的项目(在本例中为 List <int>)填充 CheckedListBox。

我的骨架代码是:

foreach (int platypus in listPlatypi)
{
    userFriendlyPlatypusName = ExpandFromPlatypusID(platypus);
    // I want to store a verbose string in an Item of the CheckedListBox, something like:
    // Item item = new Item(userFriendlyPlatypusName); // what data type should "Item" be?
     CheckedListBox1.Add(item);
}
4

2 回答 2

8

你在找checkedListBox1.Items.Add(userFriendlyPlatypusName);吗?

于 2012-07-19T16:41:13.687 回答
4

答案取决于您在列出的框架代码之外做什么。重要的是您的代码稍后对列表项进行操作时需要哪些信息。

CheckedListBox就像ListBox. 显示的文本是每个项目的.ToString().

如果字符串有效,则添加显示名称文本。

如果您需要为每个项目存储更多信息,ToString()请为您的类和.Add()完整项目添加覆盖。

如果这不是一个选项,请创建一个小型显示包装器:

public class PlatypusDisplayWrapper {
   public Platypus {get; set;}
   public override string ToString() { 
       return this.Platypus.Name;
   }
}
于 2012-07-19T16:52:52.150 回答