2016-11-12 34 views
1

我有CheckedListBox的问题。 我有对象的列表:CheckedListBox - 如何设置要显示的对象的哪个参数?

private WinPcapDeviceList deviceList = WinPcapDeviceList.Instance; 

这包含WinPcapDevice对象。 我想在列表中添加作为ChecklistBox

CheckList.DataSource = devices; 

数据源当我启动该程序的输出不是用户非常有用,因为它看起来是这样的:checkedlistbox with WinPcapDeviceList as datasource

我希望它看起来是这样的:checkedlistbox with description of devices列表

所以只有设备的描述,这里是你如何可以得到说明:

WinPcapDevice.Description(); 

如何设置对象的哪个属性将被屏蔽?

+0

什么样的应用(Winform中,WPF)是什么呢? – FrenchData

回答

0

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

您的示例显示说明来自方法,因此您可能必须使用将调用此方法的getter创建属性。

希望这会有所帮助。

菲利普

+0

谢谢,我已经修复了它 CheckList.ValueMember =“说明”; DisplayMember和ValueMember的工作原理都是一样的,不知道它们之间有什么区别,如果您知道并且在意解释我会很高兴 – Turbotrdlo

+0

DisplayMember仅用于显示。当您调用复选框上的“SelectedValue”属性时,将使用ValueMember。 – FrenchData

0

您可以动态地将项目添加到您的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"; 
相关问题