visual seleccionar manualmente llenar item elementos ejemplos agregar c# winforms combobox

seleccionar - ¿Cómo configuro el elemento seleccionado en un comboBox para que coincida con mi cadena usando C#?



ejemplos combobox visual basic (23)

¿Has probado la propiedad Text ? Esto funciona para mi.

ComboBox1.Text = "test1";

La propiedad SelectedText es para la parte seleccionada del texto editable en la parte de cuadro de texto del cuadro combinado.

Tengo una cadena "test1" y mi comboBox contiene test1 , test2 y test3 . ¿Cómo configuro el elemento seleccionado a "prueba1"? Es decir, ¿cómo puedo unir mi cadena a uno de los elementos de comboBox?

Estaba pensando en la línea de abajo, pero esto no funciona.

comboBox1.SelectedText = "test1";


Creé una función que devolverá el índice del valor

public static int SelectByValue(ComboBox comboBox, string value) { int i = 0; for (i = 0; i <= comboBox.Items.Count - 1; i++) { DataRowView cb; cb = (DataRowView)comboBox.Items[i]; if (cb.Row.ItemArray[0].ToString() == value)// Change the 0 index if your want to Select by Text as 1 Index { return i; } } return -1; }


Deberia de funcionar

Yourcomboboxname.setselecteditem("yourstring");

Y si quiere establecer una cadena de base de datos, use esto

Comboboxname.setselecteditem(ps.get string("databasestring"));


Esta solución se basa en MSDN con algunas modificaciones que hice.

  • Encuentra la cadena exacta o PARTE de cadena y la establece.

    private int lastMatch = 0; private void textBoxSearch_TextChanged(object sender, EventArgs e) { // Set our intial index variable to -1. int x = 0; string match = textBoxSearch.Text; // If the search string is empty set to begining of textBox if (textBoxSearch.Text.Length != 0) { bool found = true; while (found) { if (comboBoxSelect.Items.Count == x) { comboBoxSelect.SelectedIndex = lastMatch; found = false; } else { comboBoxSelect.SelectedIndex = x; match = comboBoxSelect.SelectedValue.ToString(); if (match.Contains(textBoxSearch.Text)) { lastMatch = x; found = false; } x++; } } } else comboBoxSelect.SelectedIndex = 0; }

¡Espero haber ayudado!


Esto debería funcionar:

Combox1.SelectedIndex = Combox1.FindStringExact("test1")


He llenado mi ComboBox con una DataTable llena de una base de datos. Luego configuré el DisplayMember y el ValueMember. Y uso este código para establecer el elemento seleccionado.

foreach (DataRowView Row in ComboBox1.Items) { if (Row["ColumnName"].ToString() == "Value") ComboBox1.SelectedItem = Row; }


He usado un método de extensión:

public static void SelectItemByValue(this ComboBox cbo, string value) { for(int i=0; i < cbo.Items.Count; i++) { var prop = cbo.Items[i].GetType().GetProperty(cbo.ValueMember); if (prop!=null && prop.GetValue(cbo.Items[i], null).ToString() == value) { cbo.SelectedIndex = i; break; } } }

Entonces solo consuma el método:

ddl.SelectItemByValue(value);


No tiene esa propiedad en el ComboBox. Tiene SelectedItem o SelectedIndex. Si tiene los objetos que utilizó para llenar el cuadro combinado, puede usar SelectedItem.

Si no, puede obtener la colección de elementos (Elementos de propiedad) e iterar hasta que obtenga el valor que desea y usarlo con las otras propiedades.

Espero eso ayude.


Para mí esto solo funcionaba:

foreach (ComboBoxItem cbi in someComboBox.Items) { if (cbi.Content as String == "sometextIntheComboBox") { someComboBox.SelectedItem = cbi; break; } }

MOD: y si tiene sus propios objetos como elementos configurados en el cuadro combinado, entonces sustituya el ComboBoxItem por uno de ellos como:

foreach (Debitor d in debitorCombo.Items) { if (d.Name == "Chuck Norris") { debitorCombo.SelectedItem = d; break; } }


Por favor, intente de esta manera, funciona para mí:

Combobox1.items[Combobox1.selectedIndex] = "replaced text";


Puede decir comboBox1.Text = comboBox1.Items[0].ToString();


SelectedText es para obtener o establecer el texto real en el editor de cadenas para el elemento seleccionado en el cuadro combinado como se documenta here . Esto no se puede editar si configuras:

comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;

Utilizar:

comboBox1.SelectedItem = "test1";

o:

comboBox1.SelectedIndex = comboBox1.Items.IndexOf("test1");


Si los artículos en su ComboBox son cadenas, puede intentar:

comboBox1.SelectedItem = "test1";


Suponiendo que su cuadro combinado no esté enlazado a datos, necesitará encontrar el índice del objeto en la colección "artículos" en su formulario y luego establecer la propiedad "indexado seleccionado" en el índice apropiado.

comboBox1.SelectedIndex = comboBox1.Items.IndexOf("test1");

Tenga en cuenta que la función IndexOf puede arrojar una opinión discutida si el elemento no se encuentra.


Suponiendo que test1, test2, test3 pertenecen a la colección comboBox1, la siguiente declaración funcionará.

comboBox1.SelectedIndex = 0;


Todos los métodos, trucos y líneas de configuración de código del elemento ComboBox no funcionarán hasta que el ComboBox tenga un elemento primario.


Utilicé KeyValuePair para el enlace de datos ComboBox y quería encontrar el artículo por valor, así que esto funcionó en mi caso:

comboBox.SelectedItem = comboBox.Items.Cast<KeyValuePair<string,string>>().First(item=> item.Value == "value to match");


esto funciona para mí .....

comboBox.DataSource.To<DataTable>().Select(" valueMember = ''" + valueToBeSelected + "''")[0]["DislplayMember"];


ListItem li = DropDownList.Items.FindByValue("13001"); DropDownList.SelectedIndex = ddlCostCenter.Items.IndexOf(li);

Para su caso, puede usar

DropDownList.Items.FindByText("Text");


_cmbTemplates.SelectedText = "test1"

o tal vez

_cmbTemplates.SelectedItem= _cmbTemplates.Items.Equals("test1");


combo.Items.FindByValue("1").Selected = true;


comboBox1.SelectedItem.Text = "test1";


  • Enumerate ListItems en combobox
  • Obtenga los mismos listindex set combobox
  • Establezca listindex en el encontrado.

Pero si veo un código como un revisor de código, recomendaría reconsiderar todo el algoritmo del método.