Buscar..


Botón

Los botones son uno de los controles más simples y se usan principalmente para ejecutar algún código cuando el usuario lo desea.

Aquí tenemos un caso muy simple, mostrar un cuadro de mensaje cuando se hace clic en un botón. cmdShowMessage un botón a un formulario, lo denominamos cmdShowMessage como se usa en el código para identificar el objeto y establecer el texto de los botones en Mostrar mensaje.

introduzca la descripción de la imagen aquí

Solo necesitamos hacer doble clic en el botón del diseñador visual y Visual Studio generará el código para el evento de clic. Ahora solo necesitamos agregar el código para el MessageBox allí:

private void cmdShowMessage_Click(object sender, EventArgs e)
{
  MessageBox.Show("Hello world!");
}

Si ejecutamos el programa ahora y hacemos clic en el botón, veremos el mensaje que aparece:

introduzca la descripción de la imagen aquí

Caja de texto

Los cuadros de texto permiten al usuario ingresar datos en el programa.

Vamos a modificar el formulario y agregar un cuadro de texto para que el cuadro de mensaje nos muestre el mensaje que el usuario desea. Ahora nuestra forma se ve como:

introduzca la descripción de la imagen aquí

Y luego modifique el evento de clic de botón para usar el texto del cuadro de texto:

private void cmdShowMessage_Click(object sender, EventArgs e)
{
  string UserText = txtUserMessage.Text;
  MessageBox.Show(UserText);
}

Como puede ver, estamos utilizando la propiedad .Text del .Text de texto que es el texto contenido en el cuadro de texto.

Si ejecutamos el programa, podremos escribir en el cuadro de texto. Cuando hagamos clic en el botón, el MessageBox mostrará el texto que hemos escrito:

introduzca la descripción de la imagen aquí

Caja combo

Los ComboBoxes permiten al usuario elegir una de varias opciones proporcionadas por el desarrollador.

Vamos a modificar el formulario y agregar un cuadro combinado para que el cuadro de mensaje nos muestre el mensaje que el usuario desea de una lista que le proporcionaremos.

Después de agregar el combo al formulario, ahora agregamos una lista de opciones al combo. Para ello necesitamos modificar la propiedad Items :

introduzca la descripción de la imagen aquí

Ahora necesitamos modificar el código del evento click:

private void cmdShowMessage_Click(object sender, EventArgs e)
{
  string OptionText = cboSelectOption.SelectedItem.ToString();
  MessageBox.Show(OptionText);
}

Como puede ver, usamos la propiedad SelectedItem , que contiene el objeto de la opción seleccionada. Como necesitamos una cadena para mostrar y el compilador no sabe si el objeto es o no una cadena, necesitamos usar el método ToString() .

Si ejecutamos el programa, podremos elegir la opción que preferimos y cuando hagamos clic en el botón, el cuadro de mensaje lo mostrará:

introduzca la descripción de la imagen aquí

Para recibir una notificación cuando un usuario selecciona un elemento del cuadro combinado, use el evento SelectionChangeCommitted . Podríamos usar el evento SelectedIndexChanged , pero esto también se produce cuando cambiamos programáticamente el elemento seleccionado en el cuadro combinado.

Caja

Checkbox es un control que permite al usuario obtener valores boolean de un usuario para una pregunta específica como "¿Estás bien?" .

Tiene un evento llamado CheckedChanged , que ocurre cada vez que se cambia la propiedad de check .

Aquí hay un CheckBox que tiene una pregunta "¿Se comprueba?" .

introduzca la descripción de la imagen aquí

Conseguimos este MessageBox del evento CheckedChanged ,

private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            bool IsChecked = checkBox1.Checked; 
            MessageBox.Show(IsChecked.ToString());
        }

Si CheckBox está marcado -> IsChecked variable IsChecked será true .

Si CheckBox no está marcado -> IsChecked variable IsChecked será false .

Cuadro de lista

Listbox es un control que puede contener colección de objetos. Listbox es similar a Combobox pero en Combobox ; Sólo los elementos seleccionados son visibles para el usuario. En Listbox ; todos los elementos son visibles para el usuario.

¿Cómo agregar elementos a ListBox?

private void Form3_Load(object sender, EventArgs e)
        {
            string test = "Trial";
            string test2 = "45";
            int numberTest = 43;
            decimal decimalTest = 130;
            
            listBox1.Items.Add(test);
            listBox1.Items.Add(test2);
            listBox1.Items.Add(numberTest);
            listBox1.Items.Add(decimalTest);
        }

Salida ;

Resultado

O se pueden dar datasources ,

private void Form3_Load(object sender, EventArgs e)
        {
            List<string> TestList = new List<string> { "test1", "test2", "test3", "44", "55" };
            listBox1.DataSource = TestList;
        }

Salida;

Resultado2

private void Form3_Load(object sender, EventArgs e)
        {
            SqlConnection Connection = new SqlConnection("Server=serverName;Database=db;Trusted_Connection=True;"); //Connetion to MS-SQL(RDBMS)
            Connection.Open(); //Connection open
            SqlDataAdapter Adapter = new SqlDataAdapter("Select * From TestTable", Connection); // Get all records from TestTable.
            DataTable DT = new DataTable();
            Adapter.Fill(DT); // Fill records to DataTable.
            listBox1.DataSource = DT; // DataTable is the datasource.
            listBox1.ValueMember = "TestID"; 
            listBox1.DisplayMember= "TestName";
        }

La salida adecuada ;

introduzca la descripción de la imagen aquí

Dar un origen de datos sql externo al cuadro de lista requiere, ValueMember y DisplayMember

Si NO se verá así,

introduzca la descripción de la imagen aquí

Eventos útiles;

SelectedIndex_Changed;

Definir una lista para dar fuente de datos

private void Form3_Load(object sender, EventArgs e)
        {
            List<string> DataList = new List<string> {"test1" , "test2" , "test3" , "44" , "45" };
            listBox1.DataSource = TestList;
        }

En el diseño del formulario, seleccione Listbox y presione F4 o, a la derecha, haga clic en el icono iluminado.

introduzca la descripción de la imagen aquí

Visual Studio generará listBox1_SelectedIndexChanged a codebehind.

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            int Index = listBox1.SelectedIndex;
            label1.Text = Index.ToString();
        }

Resultado de SelectedIndex_Changed ; (la etiqueta en la parte inferior mostrará el índice de cada elemento seleccionado)

introduzca la descripción de la imagen aquí

SelectedValue_Changed; (El origen de datos es el mismo que en la parte superior y puede generar este evento como SelectedIndex_Changed)

private void listBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            label1.Text = listBox1.SelectedValue.ToString();
        }

Salida ;

introduzca la descripción de la imagen aquí

NumericUpDown

NumericUpDown es un control que se parece a TextBox. Este control permite al usuario mostrar / seleccionar un número desde un rango. Las flechas arriba y abajo están actualizando el valor del cuadro de texto.

El control se ve como

introduzca la descripción de la imagen aquí

En Form_Load se puede establecer el rango.

private void Form3_Load(object sender, EventArgs e)
    {
        numericUpDown1.Maximum = 10;
        numericUpDown1.Minimum = -10; 
    }

Salida;

introduzca la descripción de la imagen aquí

UpDownAlign establecerá la posición de las flechas;

 private void Form3_Load(object sender, EventArgs e)
        {
            numericUpDown1.UpDownAlign = LeftRightAlignment.Left;
            
        }

Salida;

introduzca la descripción de la imagen aquí

Método UpButton() aumenta el número del control. (Se puede llamar desde cualquier lugar. Usé un button para llamarlo).

private void button1_Click(object sender, EventArgs e)
        {
            numericUpDown1.UpButton();
        }

**Salida

introduzca la descripción de la imagen aquí

DownButton() Método disminuye el número del control. (Se puede llamar desde cualquier lugar. Usé un button para volver a llamar.)

 private void button2_Click(object sender, EventArgs e)
        {
            numericUpDown1.DownButton();
        }

Salida;

introduzca la descripción de la imagen aquí

Eventos utiles


ValueChanged;

Ese evento funcionará cuando haga clic en la flecha hacia arriba o hacia abajo.

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            decimal result = numericUpDown1.Value; // it will get the current value
            if (result == numericUpDown1.Maximum) // if value equals Maximum value that we set in Form_Load.
            {
                label1.Text = result.ToString() + " MAX!"; // it will add "MAX" at the end of the label 
            }
            else if (result == numericUpDown1.Minimum) //  if value equals Minimum value that we set in Form_Load.
            {
                label1.Text = result.ToString() + " MIN!"; // it will add "MIN" at the end of the label 
            }
            else
            {
                label1.Text = result.ToString(); // If Not Max or Min, it will show only the number.
            }
        }

Salida ;

introduzca la descripción de la imagen aquí



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow