sábado, 28 de septiembre de 2013

Control ComboBox

DESCRIPCION
Un control ComboBox permite seleccionar un elemento en una determinada acción.

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'Agregamos Elementos al control combobox
        cbxEspecialidad.Items.Add("Seleccione")
        cbxEspecialidad.Items.Add("Ing. Sistemas")
        cbxEspecialidad.Items.Add("Contabilidad")
        cbxEspecialidad.Items.Add("Administración")
        'Seleccionamos el primer elemento para mostrar en el control (index del combobox)
        cbxEspecialidad.SelectedIndex = 0
        DesabilitarControles()
    End Sub

    Private Sub cbxEspecialidad_SelectedIndexChanged(sender As Object, e As EventArgs) Handles
    cbxEspecialidad.SelectedIndexChanged
        Select Case cbxEspecialidad.SelectedIndex
            Case 0
                cbxCurso.Items.Clear()
                DesabilitarControles()
            Case 1
                cbxCurso.Items.Clear()
                cbxCurso.Items.Add("Base de Datos")
                cbxCurso.Items.Add("Visaul Basic")
                cbxCurso.Items.Add("PHP")
                cbxCurso.Items.Add("JSP")
                cbxCurso.SelectedIndex = 0
                HabilitarControles()
            Case 2
                cbxCurso.Items.Clear()
                cbxCurso.Items.Add("Economía")
                cbxCurso.Items.Add("Matemática")
                cbxCurso.Items.Add("Inglés")
                cbxCurso.SelectedIndex = 0
                HabilitarControles()
            Case Else
                cbxCurso.Items.Clear()
                cbxCurso.Items.Add("Gestion de Proyectos")
                cbxCurso.Items.Add("Costos y Presupuestos")
                cbxCurso.Items.Add("Matemática")
                cbxCurso.SelectedIndex = 0
                HabilitarControles()
        End Select
    End Sub

    Private Sub btnCalcular_Click(sender As Object, e As EventArgs) Handles btnCalcular.Click
        If txtAlumno.Text.Trim <> "" And txtNota1.Text.Trim <> "" And txtNota2.Text.Trim <> ""
        And  txtNota3.Text.Trim <> "" Then
            'Declaramos un vector y luego le asignamos memoria para 3 elemento
            Dim vector(2) As Integer
            Dim Notas As Integer
            Dim Auxi As Integer
            Dim Promedio As Decimal
            'Almacenamos los datos
            Notas = VerificarNotas(CInt(txtNota1.Text), CInt(txtNota2.Text), CInt(txtNota3.Text))
            If Notas = 0 Then
                vector(0) = CInt(txtNota1.Text)
                vector(1) = CInt(txtNota2.Text)
                vector(2) = CInt(txtNota3.Text)

                'Utilizamos el método de burbuja para ordenar los elementos de Mayor a menor, para luego
                 tomar los dos elementos mayores (Números)
                For i As Integer = 0 To 2
                    For j As Integer = 0 To 1
                        If vector(i) > vector(j) Then
                            Auxi = vector(i)
                            vector(i) = vector(j)
                            vector(j) = Auxi
                        End If
                    Next
                Next

                'Una vez ordenado nuestros elementos del vector, sumamos los elementos de la posesion 0 y 1 (Números Mayores), y luego lo dividimos entre la cantidad de elemntos
                Promedio = CDec(Math.Round(CDec(vector(0) + vector(1)) / 3, 2))
                If (Promedio > 10.5) Then
                    cbxTotalAprobados.Items.Add(txtAlumno.Text & "   |   " & "Promedio: " & Promedio)
                    cbxTotalAprobados.SelectedIndex = 0
                Else
                    cbxTotalDesprobados.Items.Add(txtAlumno.Text & "   |   " & "Promedio: " & Promedio)
                    cbxTotalDesprobados.SelectedIndex = 0
                End If
                LimpiarTextBox()
            Else
                MsgBox("Las Notas Ingresadas son Incorrectas...!!!", MsgBoxStyle.Exclamation,
                "Information")
            End If
        ElseIf txtAlumno.Text = "" Then
            MsgBox("Ingrese Nombre del Alumno a Registrar Notas...!!!", MsgBoxStyle.Exclamation,
            "Information")
            txtAlumno.Focus()
        ElseIf txtNota1.Text = "" Then
            MsgBox("Ingrese La Nota N° 01", MsgBoxStyle.Exclamation, "Information")
            txtNota1.Focus()
        ElseIf txtNota2.Text = "" Then
            MsgBox("Ingrese La Nota N° 02", MsgBoxStyle.Exclamation, "Information")
            txtNota2.Focus()
        Else
            MsgBox("Ingrese La Nota N° 03", MsgBoxStyle.Exclamation, "Information")
            txtNota3.Focus()
        End If

    End Sub

    Private Sub HabilitarControles()
        cbxCurso.Enabled = True
        txtNota1.Enabled = True
        txtNota2.Enabled = True
        txtNota3.Enabled = True
        cbxTotalAprobados.Enabled = True
        cbxTotalDesprobados.Enabled = True
        btnCalcular.Enabled = True
        btnNuevo.Enabled = True
    End Sub

    Private Sub DesabilitarControles()
        cbxCurso.Enabled = False
        txtNota1.Enabled = False
        txtNota2.Enabled = False
        txtNota3.Enabled = False
        cbxTotalAprobados.Enabled = False
        cbxTotalDesprobados.Enabled = False
        btnCalcular.Enabled = False
        btnNuevo.Enabled = False
    End Sub

    Private Sub LimpiarTextBox()
        txtAlumno.Clear()
        txtNota1.Clear()
        txtNota2.Clear()
        txtNota3.Clear()
    End Sub

    Private Sub btnNuevo_Click(sender As Object, e As EventArgs) Handles btnNuevo.Click
        txtAlumno.Clear()
        cbxTotalAprobados.Items.Clear()
        cbxTotalDesprobados.Items.Clear()
        txtNota1.Clear()
        txtNota2.Clear()
        txtNota3.Clear()
    End Sub

    Private Sub btnSalir_Click(sender As Object, e As EventArgs) Handles btnSalir.Click
        Dim Rpta As Integer = MsgBox("Está seguro que desea Salir...!!!", MsgBoxStyle.YesNo,
        "Information")
        If Rpta = 6 Then
            Me.Close()
        End If
    End Sub

    Private Function VerificarNotas(Nota1 As Integer, Nota2 As Integer, Nota3 As Integer) As Integer
        Dim NotaMayor As Integer = 0
        If Nota1 < 0 Or Nota1 > 20 Or Nota2 < 0 Or Nota2 > 20 Or Nota3 < 0 Or Nota3 > 20 Then
            NotaMayor += 1
        End If
        Return NotaMayor
    End Function

End Class





No hay comentarios:

Publicar un comentario