【问题标题】:How can I dynamically populate a CheckedListBox?如何动态填充 CheckedListBox?
【发布时间】:2012-07-19 15:55:12
【问题描述】:

我想根据传递给表单构造函数的项目(在本例中为 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);
}

【问题讨论】:

    标签: c# winforms dynamic checkedlistbox


    【解决方案1】:

    【讨论】:

    • 哦,男孩 - 为什么昨天对我来说并不明显,现在令人难以置信和尴尬。
    • 别尴尬:我在 5 分钟前做了完全相同的事情。感谢@keyr 的回答和您的问题。
    【解决方案2】:

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

    CheckedListBoxListBox 一样工作。显示的文本是每个项目的.ToString() 的结果。

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

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

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

    public class PlatypusDisplayWrapper {
       public Platypus {get; set;}
       public override string ToString() { 
           return this.Platypus.Name;
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2016-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多