C# CheckedListBox-如何设置要显示的对象参数?

C# CheckedListBox-如何设置要显示的对象参数?,c#,datasource,checkedlistbox,C#,Datasource,Checkedlistbox,我对CheckedListBox有问题。 我有一个对象列表: private WinPcapDeviceList deviceList = WinPcapDeviceList.Instance; 其中包含WinPcapDevice对象。 我想将列表添加为ChecklistBox的数据源 CheckList.DataSource = devices; 当我启动程序时,输出对用户不是很有帮助,因为它看起来像这样: 我希望它看起来像这样: 因此,列表中只有设备的说明,以下是如何获得说明: WinP

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

private WinPcapDeviceList deviceList = WinPcapDeviceList.Instance;
其中包含WinPcapDevice对象。 我想将列表添加为ChecklistBox的数据源

CheckList.DataSource = devices;
当我启动程序时,输出对用户不是很有帮助,因为它看起来像这样:

我希望它看起来像这样:

因此,列表中只有设备的说明,以下是如何获得说明:

WinPcapDevice.Description();

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

您必须使用CheckedLisbox()的“DisplayMember”属性指示要显示的源项属性

您的示例显示,该描述来自一个方法,因此您可能需要使用一个getter创建一个属性来调用该方法

希望这会有所帮助


Philippe

您必须使用CheckedLisbox()的“DisplayMember”属性指示要显示的源项的哪个属性

您的示例显示,该描述来自一个方法,因此您可能需要使用一个getter创建一个属性来调用该方法

希望这会有所帮助


Philippe

您可以动态地将项目添加到
复选框列表
或设置
数据源
显示成员
。只需从设备列表中获取
名称

像这样使用
foreach
循环

WinPcapDeviceList devices = WinPcapDeviceList.Instance;

            foreach (WinPcapDevice dev in devices)
            {
                checkedListBox1.Items.Add(dev.Name);
            }
使用
DataSource
DisplayValue
属性

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

您可以动态地将项目添加到
复选框列表
或设置
数据源
显示成员
。只需从设备列表中获取
名称

像这样使用
foreach
循环

WinPcapDeviceList devices = WinPcapDeviceList.Instance;

            foreach (WinPcapDevice dev in devices)
            {
                checkedListBox1.Items.Add(dev.Name);
            }
使用
DataSource
DisplayValue
属性

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

它是什么类型的应用程序(Winform,WPF)?它是什么类型的应用程序(Winform,WPF)?谢谢,我已经用CheckList.ValueMember=“Description”修复了它;DisplayMember和ValueMember工作原理相同,不知道它们之间有什么区别,如果您知道并愿意解释,我很乐意DisplayMember仅用于显示。当您调用复选框上的“SelectedValue”属性时,将使用ValueMember。谢谢,我已经用CheckList.ValueMember=“Description”修复了它;DisplayMember和ValueMember工作原理相同,不知道它们之间有什么区别,如果您知道并愿意解释,我很乐意DisplayMember仅用于显示。调用复选框上的“SelectedValue”属性时,将使用ValueMember。