2016-11-12 31 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"; 
相關問題