item - como programar un combobox en c#
C#ComboBox en estilo DropDownList, ¿cómo configuro el texto? (4)
El código que especifique:
comboBox.Text = "Wildcards";
...Deberia trabajar. La única razón por la que no lo haría es porque el texto que especifique no es un elemento dentro de la lista de elementos del comboBox. Al usar el estilo DropDownList, solo puede establecer el texto en los valores que realmente aparecen en la lista.
Si es el caso de que intente configurar el texto en comodines y ese elemento no aparece en la lista, y una solución alternativa no es aceptable, es posible que tenga que estar un poco sucio con el código y agregar un elemento temporalmente que se elimina cuando se expande la lista desplegable.
Por ejemplo, si tiene un formulario que contiene un combobox llamado "comboBox1" con algunos elementos y un botón llamado "button1", podría hacer algo como esto:
private void button1_Click(object sender, EventArgs e)
{
if (!comboBox1.Items.Contains("Wildcards"))
{
comboBox1.Items.Add("Wildcards");
}
comboBox1.Text = "Wildcards";
}
private void comboBox1_DropDown(object sender, EventArgs e)
{
if (comboBox1.Items.Contains("Wildcards"))
comboBox1.Items.Remove("Wildcards");
}
Eso es bastante rápido y sucio, pero al capturar el evento DropDownClosed también podría limpiarlo un poco, agregando el elemento "Comodines" de vuelta según sea necesario.
Quiero usar un ComboBox con el estilo DropDownList (el que lo hace parecer un botón para que no pueda ingresar un valor) para insertar un valor en un cuadro de texto. Quiero que el cuadro combinado tenga una etiqueta de texto llamada ''Comodines'' y cuando selecciono un comodín de la lista, el valor seleccionado se inserta en un cuadro de texto y el texto del cuadro combinado sigue siendo ''Comodín''. Mi primer problema es que no puedo establecer un valor de texto cuando el cuadro combinado está en estilo DropDownList. Al utilizar las propiedades, la paleta no funciona, el valor del texto simplemente se borra al hacer clic en off, y se agrega comboBox.Text = "Comodines"; form_load tampoco funciona. ¿Alguien puede ayudar?
Prueba esto
comboBox1.SelectedValue = "Wildcards";
Esta puede ser una solución posible:
comboBox1.SelectedValue = comboBox1.Items.FindByText("Wildcards").Value;
Puede seleccionar uno de los elementos en formload o en form constructor:
public MyForm()
{
InitializeComponent();
comboBox.SelectedIndex = 0;
}
o
private void MyForm_Load(object sender, EventArgs e)
{
comboBox.SelectedIndex = 0;
}