Si te encuentras con alguna parte que no comprendes puedes dejarnos un comentario y te responderemos rápidamente.
Solución:
Si desea un valor y un título (etiqueta), cree una clase apropiada
class ComboItem
public int ID get; set;
public string Text get; set;
En el ComboBox, luego configura el DisplayMember
propiedad a Text
y el ValueMember
propiedad a ID
.
El DropDownStyle
del ComboBox determina su comportamiento. DropDownStyle.DropDown
permite al usuario escribir texto. Con DropDownStyle.DropDownList
el usuario solo puede seleccionar elementos de la lista.
Puedes llenar el ComboBox
como esto:
myCombo.DataSource = new ComboItem[]
new ComboItem ID = 1, Text = "One" ,
new ComboItem ID = 2, Text = "Two" ,
new ComboItem ID = 3, Text = "Three"
;
El DataSource
puede ser cualquier tipo de enumerable.
Puede recuperar la identificación seleccionada de esta manera
int id = (int)myComboBox.SelectedValue;
Tenga en cuenta que puede agregar cualquier tipo de elemento al ComboBox. Si no especifica el DisplayMember
y ValueMember
propiedades, ComboBox utiliza el ToString
método del objeto para determinar el texto que se muestra y puede recuperar el elemento seleccionado (valor no seleccionado) a través del SelectedItem
propiedad.
Si agrega objetos de este tipo…
class Person
public int PersonID get; set
public string FirstName get; set;
public string LastName get; set;
public override string ToString()
return FirstName + " " + LastName;
… al ComboBox, puede recuperar el elemento seleccionado de esta manera
Person selectedPerson = (Person)myComboBox.SelectedItem;
int personID = selectedPerson.PersonID;
El ComboBox mostrará el nombre y apellido de las personas.
Debe configurar una fuente de datos para su Combobox, es mejor si crea una clase y pasa una lista de Objetos, por ejemplo:
private void Init()
List- items = new List
- ();
items.Add(new Item() Text = "displayText1", Value = "ValueText1" );
items.Add(new Item() Text = "displayText2", Value = "ValueText2" );
items.Add(new Item() Text = "displayText3", Value = "ValueText3" );
comboBox1.DataSource = items;
comboBox1.DisplayMember = "Text";
comboBox1.ValueMember = "Value";
public class Item
public Item()
public string Value set; get;
public string Text set; get;
Pon el Init()
método en su FormName_Load(object sender, EventArgs e)
.
Parece que el valor es solo una referencia al elemento seleccionado, ¿correcto? Luego puede usar el índice del cuadro combinado, lo hace mucho más fácil.
No estoy seguro de si sus elementos se conocen antes de la compilación, en caso afirmativo, simplemente agréguelos en el diseñador, propiedades del cuadro combinado. De lo contrario, puede agregarlos dinámicamente simplemente haciendo:
List items = new List() "item1", "item2" ;
comboBox1.DataSource = items;
Y para saber qué ítem está seleccionado:
int index = comboBox1.SelectedIndex;
Aquí tienes las comentarios y calificaciones
Si aceptas, puedes dejar una noticia acerca de qué te ha gustado de esta reseña.