CheckedListBox - 如何设置要显示的对象的哪个参数?

CheckedListBox - how to set which parameter of an object to display?

我对 CheckedListBox 有疑问。 我有一个对象列表:

private WinPcapDeviceList deviceList = WinPcapDeviceList.Instance;

这包含 WinPcapDevice 对象。 我想将列表添加为 ChecklistBox

的数据源
CheckList.DataSource = devices;

当我启动程序时,输出对用户不是很有帮助,因为它看起来像这样:checkedlistbox with WinPcapDeviceList as datasource

我希望它看起来像这样:checkedlistbox with description of devices

所以列表中只有设备的描述,这里是你如何获得描述:

WinPcapDevice.Description();

如何设置显示对象的属性?

您必须使用 CheckedLisbox (https://msdn.microsoft.com/en-us/library/system.windows.forms.checkedlistbox_members(v=vs.90).aspx) 的 "DisplayMember" 属性 指示要显示的源项目 属性。

你的例子表明描述来自一个方法,所以你可能必须创建一个 属性 和一个 getter 来调用这个方法。

希望这会有所帮助。

菲利普

您可以将项目动态添加到您的 CheckBoxList 或设置 DataSourceDisplayMember。只需从设备列表

中获取 Name

像这样使用foreach循环

WinPcapDeviceList devices = WinPcapDeviceList.Instance;

            foreach (WinPcapDevice dev in devices)
            {
                checkedListBox1.Items.Add(dev.Name);
            }

使用 DataSourceDisplayValue 属性

      checkedListBox1.DataSource = devices;
      checkedListBox1.DisplayMember = "Name";