[Serie Yugong] Explicación detallada de los controles ComboBox en los controles Winform en septiembre de 2023


prefacio

Los controles de Winform son elementos de la interfaz de usuario en Windows Forms. Se pueden usar para crear varios componentes visuales e interactivos de aplicaciones de Windows, como botones, etiquetas, cuadros de texto, cuadros de lista desplegable, casillas de verificación, cuadros de opción, barras de progreso, etc. . . Los desarrolladores pueden utilizar controles de Winform para crear interfaces de usuario y responder a las acciones del usuario para crear potentes aplicaciones de escritorio.

1. Explicación detallada del control ComboBox

ComboBox es un control común en Winform (Windows Forms), que permite al usuario seleccionar una de las opciones de una lista de opciones predefinidas.

Utilice un control ComboBox para permitir a los usuarios seleccionar una opción sin requerir entrada manual o selección de otros tipos de controles. Se puede utilizar como control de entrada o como control de menú.

El control ComboBox se puede utilizar en Winform mediante los siguientes pasos:

Paso 1: arrastre el control ComboBox al formulario.

Paso 2: establezca las siguientes propiedades en la ventana de propiedades del ComboBox:

  • Elementos: especifique la lista de opciones que se mostrarán en el cuadro combinado.

  • SelectedIndex: especifica el índice seleccionado por ComboBox. El valor predeterminado es -1, lo que significa que no se selecciona ninguna opción.

  • DropDownStyle: especifica el estilo mostrado por ComboBox.

  • Texto: especifica el valor de texto seleccionado actualmente en el cuadro combinado.

Paso 3: utilice eventos y métodos relacionados con ComboBox en el código.

Por ejemplo, puede usar el evento SelectedIndexChanged para recuperar las opciones seleccionadas por un ComboBox y usar el método Add para agregar opciones al ComboBox.

El siguiente es un código de ejemplo que utiliza el control ComboBox:

private void Form1_Load(object sender, EventArgs e)
{
    
    
    // 添加选项列表
    comboBox1.Items.Add("选项1");
    comboBox1.Items.Add("选项2");
    comboBox1.Items.Add("选项3");

    // 初始选择第一个选项
    comboBox1.SelectedIndex = 0;
}

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    
    
    // 获取当前选择的文本值
    string selectedText = comboBox1.Text;

    // 显示消息框
    MessageBox.Show("您选择了:" + selectedText);
}

private void button1_Click(object sender, EventArgs e)
{
    
    
    // 添加新的选项
    comboBox1.Items.Add("新选项");

    // 选择新添加的选项
    comboBox1.SelectedIndex = comboBox1.Items.Count - 1;
}

inserte la descripción de la imagen aquí

1. Introducción de atributos

1.1 Ancho desplegable

La propiedad DropDownWidth del control ComboBox en Winform especifica el ancho del cuadro de lista desplegable. De forma predeterminada, el cuadro de lista desplegable tiene el mismo ancho que el control ComboBox. Sin embargo, en algunos casos puede ser necesario cambiar el ancho del cuadro de lista desplegable para acomodar texto de opción más largo o más opciones.

Para utilizar la propiedad DropDownWidth, puede seguir estos pasos:

Paso 1: arrastre y suelte el control ComboBox en el formulario.

Paso 2: en la ventana de propiedades de ComboBox, establezca la propiedad DropDownStyle en DropDownList o DropDown.

Paso 3: establezca la propiedad DropDownWidth en el ancho deseado.

Por ejemplo, el siguiente código establece DropDownWidth del control ComboBox en 200 píxeles:

comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.DropDownWidth = 200;

En el código anterior, la propiedad DropDownStyle primero se establece en DropDownList para que el usuario solo pueda seleccionar opciones de la lista desplegable. Luego, establezca la propiedad DropDownWidth en 200 píxeles para que el ancho de la lista desplegable sea de 200 píxeles.

Nota: Si la propiedad DropDownStyle se establece en DropDown, el control ComboBox completará automáticamente el texto a medida que el usuario escriba y la propiedad DropDownWidth no tendrá ningún efecto.

Los escenarios de uso de la propiedad DropDownWidth incluyen que cuando el texto de la opción en el control ComboBox es más ancho que el ancho del control ComboBox, puede usar la propiedad DropDownWidth para ajustar el ancho de la lista desplegable para una mejor visualización y selección de opciones. .
inserte la descripción de la imagen aquí

1.2 MaxDropDownItems y IntegralHeight

El control ComboBox es uno de los controles más utilizados en Winform, que se utiliza para mostrar elementos de datos disponibles para su selección en la lista desplegable. La propiedad MaxDropDownItems se utiliza para establecer la cantidad máxima de elementos de datos que se pueden mostrar en la lista desplegable.

Al configurar la propiedad MaxDropDownItems, puede limitar la cantidad de elementos de datos que se muestran en la lista desplegable para evitar que la interfaz se sature debido a que la lista desplegable es demasiado grande. Cuando haya más elementos de datos en la lista desplegable, puede utilizar la barra de desplazamiento para desplazarse por ellos.

Código de muestra:

//设置ComboBox控件的MaxDropDownItems属性为5
comboBox1.MaxDropDownItems = 5;
comboBox1.IntegralHeight=false;

Al establecer este valor, la propiedad de IntegralHeight debe establecerse en falso y DropDownHeight debe ser el valor predeterminado de 106. Si el número de elementos de datos en la lista desplegable excede 5, aparecerá una barra de desplazamiento para ver todos los elementos de datos. .

inserte la descripción de la imagen aquí

1.3 Estilo desplegable

El control ComboBox es uno de los controles más utilizados en Winform y puede proporcionar una lista desplegable entre múltiples opciones para que los usuarios elijan. La propiedad DropDownStyle es una propiedad del control ComboBox, que se requiere en muchos escenarios cuando se utiliza el control ComboBox.

La propiedad DropDownStyle es un tipo de enumeración del control ComboBox y hay tres valores opcionales:

  1. DropDown: este es el valor predeterminado. En este momento, la lista desplegable del control ComboBox se muestra en forma expandida y el usuario puede hacer clic manualmente en la lista desplegable para seleccionar la opción que se mostrará.

  2. DropDownList: en este momento, la lista desplegable del control ComboBox se muestra en forma expandida, pero el usuario no puede ingresar ni editar el contenido de la opción en la lista desplegable y solo puede elegir una opción de ella.

  3. Simple: en este momento, la lista desplegable del control ComboBox solo se expande cuando el usuario hace clic en el botón del control ComboBox, y solo hay una fila y no se puede desplazar ni cambiar de tamaño.

escenas a utilizar:

  1. Cuando la cantidad de opciones del control ComboBox es pequeña, DropDownStyle se puede usar como DropDownList, de modo que el usuario solo pueda elegir de la lista desplegable para evitar la entrada de errores por parte del usuario.

  2. Cuando la cantidad de opciones del control ComboBox es grande, DropDownStyle se puede usar como DropDown, de modo que el usuario pueda desplazarse por la lista desplegable para una mejor búsqueda y selección.

  3. Cuando el control ComboBox solo necesita proporcionar una opción desplegable, puede usar DropDownStyle como Simple para que la interfaz sea simple y hermosa.

Código de muestra:

// 设置ComboBox控件的DropDownStyle属性
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox2.DropDownStyle = ComboBoxStyle.DropDown;
comboBox3.DropDownStyle = ComboBoxStyle.Simple;

1.4 Modo Dibujar

El control ComboBox es uno de los controles más utilizados en Winform. Proporciona una lista de menú desplegable desde la cual el usuario puede seleccionar uno o más elementos. La propiedad DrawMode del control ComboBox se utiliza para establecer el modo de dibujo del control ComboBox. Los modos de dibujo en el control ComboBox se dividen en los dos tipos siguientes:

  1. Normal: en el modo Normal, cada elemento del control ComboBox es dibujado por el propio control ComboBox. De forma predeterminada, el valor de la propiedad DrawMode del control ComboBox es Normal.

  2. OwnerDrawFixed: en el modo OwnerDrawFixed, el programador debe dibujar manualmente cada elemento del control ComboBox. Este modo se puede utilizar para lograr efectos de dibujo específicos, como personalizar el color, la fuente, el icono, etc. de los elementos de la lista desplegable.

Usar la propiedad DrawMode para configurar el modo de dibujo del control ComboBox es muy simple. En tiempo de diseño o de ejecución, solo necesita establecer la propiedad DrawMode del control ComboBox en Normal o OwnerDrawFixed. Por ejemplo, puede agregar el siguiente código en el evento Form_Load para establecer el modo de dibujo del control ComboBox en OwnerDrawFixed:

private void Form_Load(object sender, EventArgs e)
{
    
    
    comboBox1.DrawMode = DrawMode.OwnerDrawFixed;
}

En el modo OwnerDrawFixed, se activará el evento DrawItem del control ComboBox. En este caso, cada elemento del control ComboBox se puede dibujar manualmente. Por ejemplo, puedes dibujar elementos manualmente en un control ComboBox con el siguiente código:

private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
{
    
    
    e.DrawBackground();
    e.DrawFocusRectangle();
    Brush brush = Brushes.Black;
    if (e.Index % 2 == 0) brush = Brushes.Red;
    e.Graphics.DrawString(comboBox1.Items[e.Index].ToString(), e.Font, brush, e.Bounds);
}

En el código anterior, dibujamos manualmente cada elemento en el control ComboBox. Aquí, configuramos las filas impares en el control ComboBox en rojo y las filas pares en negro. En el desarrollo real, puede modificar el código de dibujo según sus necesidades para lograr un efecto de elemento de lista desplegable personalizado.

1.5 Elemento seleccionado y Índice seleccionado

ComboBox es uno de los controles más utilizados en Windows Forms, que se utiliza para mostrar elementos opcionales en una lista desplegable. El control ComboBox contiene dos propiedades importantes, a saber, SelectedItem y SelectedIndex.

SelectedItem es el valor del elemento seleccionado actualmente en el control ComboBox. Por ejemplo, si hay tres opciones "lunes", "martes" y "miércoles" en el control ComboBox y el usuario selecciona "martes", la propiedad SelectedItem devolverá la cadena "martes".

La propiedad SelectedIndex es el número de índice en la lista del elemento seleccionado actualmente en el control ComboBox. Por ejemplo, si hay tres opciones "lunes", "martes" y "miércoles" en el control ComboBox y el usuario selecciona "martes", la propiedad SelectedIndex devolverá 1, indicando el segundo elemento de la lista.

El siguiente es el código de muestra del control ComboBox:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    
    
    // 获取当前选择项的值
    string selectedItem = comboBox1.SelectedItem.ToString();

    // 获取当前选择项的索引号
    int selectedIndex = comboBox1.SelectedIndex;

    // 在Label控件中显示当前选择项
    label1.Text = "您选择了:" + selectedItem + ",索引号为:" + selectedIndex;
}

En este ejemplo, los valores de las propiedades SelectedItem y SelectedIndex se obtienen en el evento SelectedIndexChanged del ComboBox, y la información del elemento seleccionado actualmente se muestra en el control Etiqueta.

2. Escenarios comunes

El control ComboBox es un control muy utilizado en Winform y se puede utilizar en una variedad de escenarios:

  1. Selección de datos: ComboBox se puede utilizar para permitir a los usuarios seleccionar un elemento de un conjunto de elementos de datos predefinidos, como países, provincias, ciudades, etc. Los usuarios pueden seleccionar una opción a través de una lista desplegable.

  2. Mensaje de entrada: ComboBox también se puede utilizar para el mensaje de entrada. Cuando el usuario ingresa texto, la lista desplegable filtrará automáticamente las opciones que coinciden con la entrada. El usuario puede seleccionar una opción o continuar ingresando.

  3. Autocompletar: ComboBox también puede admitir la entrada de autocompletar como un cuadro de entrada. Cuando el usuario ingresa texto, la lista desplegable aparecerá automáticamente y enumerará todas las opciones posibles. El usuario puede seleccionar una opción a través del teclado o el mouse.

  4. Selección jerárquica: ComboBox también se puede utilizar para implementar la selección jerárquica. Por ejemplo, en una estructura de datos compleja, los usuarios pueden seleccionar un cierto nivel de datos a través de la lista desplegable y luego continuar seleccionando el siguiente nivel de datos, y así en.

3. Casos específicos

El siguiente es un caso específico del control ComboBox en Winform:

Supongamos que queremos desarrollar un sistema de gestión del desempeño de los estudiantes, que requiere un control de cuadro desplegable para seleccionar materias. Podemos usar el control ComboBox para lograrlo.

  1. Puede arrastrar el control ComboBox en la ventana o crear dinámicamente el objeto ComboBox en el código.

  2. En el evento Load de la ventana, use el siguiente código para completar las opciones del control ComboBox:

private void Form1_Load(object sender, EventArgs e)
{
    
    
    // 添加学科选项到ComboBox控件
    comboBox1.Items.Add("数学");
    comboBox1.Items.Add("语文");
    comboBox1.Items.Add("英语");
    comboBox1.Items.Add("物理");
    comboBox1.Items.Add("化学");

    // 默认选择第一个选项
    comboBox1.SelectedIndex = 0;
}
  1. Agregue un botón en la ventana, cuando el usuario seleccione una materia, haga clic en el botón para mostrar las calificaciones de la materia.
private void button1_Click(object sender, EventArgs e)
{
    
    
    // 获取用户选择的学科
    string subject = comboBox1.Text;

    // 根据选项获取对应学科的成绩,并显示在窗口中
    switch (subject)
    {
    
    
        case "数学":
            textBox1.Text = "数学成绩:90";
            break;
        case "语文":
            textBox1.Text = "语文成绩:95";
            break;
        case "英语":
            textBox1.Text = "英语成绩:85";
            break;
        case "物理":
            textBox1.Text = "物理成绩:80";
            break;
        case "化学":
            textBox1.Text = "化学成绩:88";
            break;
    }
}

De esta forma, cuando el usuario selecciona un tema, se pueden mostrar los resultados del tema haciendo clic en el botón.

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/aa2528877987/article/details/132657676
Recomendado
Clasificación