Como extraer los items de un combobox en c#

Iniciado por Borito30, 5 Abril 2017, 20:47 PM

0 Miembros y 1 Visitante están viendo este tema.

Borito30

Hola lo que hago es obtener el ultimo elemento del combobox:
int ultimo = playerList.Items.Count - 1;
playerList.SelectedIndex = ultimo;
var valor = playerList.SelectedValue;


Pero ahora lo que quiero es extrar los elementos en ese valor ejemplo:
"Hola,padre,nuestro"
--> por medio de valor.
string a = "hola"
string b = "padre"
string c = "nuestro"
Estoy en contra del foro libre y la Sección de juegos y consolas (distraen al personal)

Eleкtro

#1
Hola.

En el ejemplo que has mostrado, para obtener el elemento de la colección primero estás seleccionándolo en el control (y en ningún momento restauras la selección anterior), estás alterando el comportamiento del control y eso puede crear resultados imprevistos ya que no es una metodología 100% segura, si por ejemplo se controlase el evento SelectedIndexChanged para elegir otro item (por poner un ejemplo de mil cosas que se podrian hacer intencionadamente o por error para evitar que obtuvieses el valor/item esperado).
En resumen, no deberías hacerlo de esa manera. Se debe interactuar lo más mínimo con el control para obtener su información...

Para obtener el último elemento tan solo tienes que usar el indexer de la colección:

Código (csharp) [Seleccionar]
string item = (string)(this.comboBox1.Items[this.comboBox1.Items.Count - 1]);




Para partir una cadena de texto puedes llamar a la función String.Split().


Código (csharp) [Seleccionar]
string value = "Hola,padre,nuestro";
string[] tokens = value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

foreach (string token in tokens) {
   Console.WriteLine(token);
}


¡Saludos!








dato000

Cita de: Ragaza en  5 Abril 2017, 20:47 PM
Hola lo que hago es obtener el ultimo elemento del combobox:
int ultimo = playerList.Items.Count - 1;
playerList.SelectedIndex = ultimo;
var valor = playerList.SelectedValue;


Pero ahora lo que quiero es extrar los elementos en ese valor ejemplo:
"Hola,padre,nuestro"
--> por medio de valor.
string a = "hola"
string b = "padre"
string c = "nuestro"


Puedes probar esto

string elemento = this.playerList.GetItemText(this.ComboBox.SelectedItem);