2010-09-27 22 views

Respuesta

17

Pues sí, hay DisplayMember y ValueMember propiedades en CheckedListBox, aunque la documentación para ValueMember afirman que es "no es relevante para esta clase".

Aquí está un ejemplo rápido mostrando DisplayMember de trabajo:

using System; 
using System.Drawing; 
using System.Windows.Forms; 

class Test 
{ 
    static void Main() 
    { 
     CheckedListBox clb = new CheckedListBox { 
      DisplayMember = "Foo", 
      ValueMember = "Bar", 
      Items = { 
       new { Foo = "Hello", Bar = 10 }, 
       new { Foo = "There", Bar = 20 } 
      } 
     }; 
     Form f = new Form 
     { 
      Controls = { clb } 
     }; 
     Application.Run(f); 
    } 
} 

También tenga en cuenta que el estado docs:

no puede enlazar datos a un CheckedListBox. Use un ComboBox o un ListBox para esto en su lugar. Para obtener más información, vea Cómo vincular un ComboBox de Windows Forms o un control ListBox a los datos.

Dado el código anterior que funciona, presumiblemente se trata de un enlace de datos más avanzado, utilizando DataSource?

+0

ok señor, lo comprobaré. – yonan2236

+0

No vi ningún señor para las propiedades DisplayMember y ValueMember en CheckedListBox. – yonan2236

+1

@ yonan2236: Bueno, están ahí ... IntelliSense o el diseñador no puede sugerir, pero existen. –

7

la fuente de datos, DisplayMember y ValueMember propiedades están disponibles para este control, pero no se muestran en el IntelliSense: MSDN

Usted debe ser capaz de utilizarlas sin embargo.

+0

ok señor gracias. Intentaré. – yonan2236

+0

Guau, ¿por qué no se muestra esto en Intellisense?Eso es extremadamente confuso –

+0

Ok, porque BrowsableAttribute en esas propiedades tiene un valor falso. –

2

Sí, hay propiedades 'miembro de visualización' y 'miembro de valor' en CheckedListBox.

Puede establecer las propiedades como lo hace en cuadro combinado:

public void PopulateListBox(System.Windows.Forms.CheckedListBox lb, string displayMember, string valueMember, DataTable data) 
    { 
     lb.DataSource = data; // where data is the datatable. datatable filled up with //data fetched from database. 
     lb.ValueMember = valueMember; 
     lb.DisplayMember = displayMember; 
    } 
0

The french documentation dicen: Cette propriété ne pas à cette s'applique classe. "Esta propiedad no se aplica a esta clase". Esta pequeña línea de texto no está visible en la documentación de los EE. UU. ...

Cuestiones relacionadas