martes, 2 de noviembre de 2010

Ejercicio No. 2 - Uso de RadioButton y CheckBox

Este es un ejemplo sencillo del uso del radiobutton y del checkbox. Ambos tienen la propiedad CHECKED que puede tener el valor true (verdadero) o false (falso) y nos permite saber si el radiobutton está seleccionado o el checkbox está marcado.

La principal diferencia entre estos dos controles radica en que en el caso del radiobutton, solo se puede seleccionar uno del grupo de opciones que se tenga, pero en el caso del checkbox se pueden marcar uno o más controles. Normalmente en los programas reales estos se usan para que el usuario marque una casilla en respuesta de un valor verdadero.

El siguiente ejemplo sencillo es una emulación de una encuesta y probar el valor de la propiedad checked.

Cuando se evalúa checked se puede hacer de dos maneras. Suponiendo que tenemos un checkbox llamado CheckBox1

If CheckBox1.Checked = true then
...
...
End if

o

If CheckBox1.Checked = false then
...
...
End If

o sólamente

If CheckBox1.Checked Then
...
...
End If

Ya que la instrucción CheckBox1.Checked devolverá verdadero o falso y eso es lo que pretende evaluar el IF.


La aplicación completa la pueden bajar del siguiente enlace: Ejercicio 2

Ejercicio 1 - Uso del ListBox

El siguiente ejercicio ilustra el uso del ListBox.  El programa final tendrá la siguiente aparaciencia
En el cuadro de texto se escribirá un nombre y se presioná Agregar.  Este comando hará la acción de ingresar al cuadro de Lista el nombre digitado.  El botón eliminar puede eliminar un nombre del cuadro de lista.  Hay que seleccionar primero el nombre a eliminar y posteriormente presionar el botón.  Por cada estudiante ingresado se aumenta el número que aparece en el label (etiqueta) en la parte inferior del cuadro de lista (listBox).  Si se elimina un estudiante también se actualiza el contador.  Se usa para el ejercicio algunas propiedades del cuadro ListBox como SelectedItem (ListBox1.SelectedItem) la cual nos devuelve el valor del item que tenemos seleccionado (en nuestro caso el nombre del estudiante).  Para garantizar que tengamos seleccionado un estudiante se hace la instrucción:

If lstEstudiantes.SelectedItem <> "" Then
...
...
End If

Esto garantiza que no eliminaremos si el item es "" (vacío) porque talvés
no hemos seleccionado los datos.

El código se muestra a continuación y está debidamente comentado para ir detallando
lo que se va haciendo.

Public Class Form1
    '-------------------
    'FIJEMONOS EN EL AMBITO DE LA VARIABLE
    'Esta variable declarada aqui, nos servirá para llevar el control de los estudiantes
    'ingresados a la lista y es visible por todos los eventos, rutinas y procedimientos del formulario
    '-------------------
    Dim n As Integer = 0

    Private Sub btnSalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalir.Click
        'Sale del programa
        Me.Dispose()
    End Sub

    Private Sub btnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAgregar.Click

        'Si no se ha ingresado un texto, entonces se valida para que no se ingresen datos en blanco
        'la sentencia Exit Sub hace que se salga de la rutina para que no siga haciendo las instrucciones.
        If txtEstudiante.Text = "" Then
            MessageBox.Show("No ha ingresado el nombre del estudiante...")
            Exit Sub
        End If

        'Agrega al estudiante a la lista
        lstEstudiantes.Items.Add(txtEstudiante.Text)

        'Se agregar un estudiante a la cuenta
        n = n + 1

        'Pone en el label el total de estudiantes ingresados. 
        lblMensaje.Text = "Estudiantes : " & n

        'Limpia la caja de texto para esperar otro valor
        txtEstudiante.Text = ""

        'Para ir a la caja de texto automáticamente
        txtEstudiante.Focus()

    End Sub

    Private Sub btnEliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEliminar.Click
        '------------------
        'SelectedItem es una propieda que nos permite saber el valor del item seleccionado en una lista, por eso para 
        'eliminar se debe preguntar primero si el item seleccionado es diferente de una cadena vacía, esto nos garantizará
        'que primero debemos seleccionar un elemento y después presionar el botón Eliminar.
        '------------------
        If lstEstudiantes.SelectedItem <> "" Then
            '-----------------
            'La propiedad SelectedItem de la lista nos da el item actualmente seleccionado
            'se elimina el seleccionado
            '-----------------
            lstEstudiantes.Items.Remove(lstEstudiantes.SelectedItem)

            'se resta de n un estudiante
            n = n - 1

            'y se actualiza el label que lleva el control visual
            lblMensaje.Text = "Estudiantes : " & n
        End If
    End Sub
End Class

La solución completa la pueden descargar de aquí : Ejercicio 1