DESCRIPCION
El
control ListBox permite añadir elementos en
forma de lista y también poder seleccionar elementos de la misma
para trabajar los datos.
Public Class Form1
Private Sub Form1_Load(sender
As Object, e
As EventArgs)
Handles MyBase.Load
cbxCategoria.SelectedIndex = 0
End Sub
Private Sub cbxCategoria_SelectedIndexChanged(sender
As Object, e
As EventArgs)
Handles
cbxCategoria.SelectedIndexChanged
Select Case cbxCategoria.SelectedIndex
Case 0
cbxProductos.Items.Clear()
cbxProductos.Items.Add(
"Seleccione")
cbxProductos.SelectedIndex = 0
Case 1
cbxProductos.Items.Clear()
cbxProductos.Items.Add(
"Gaseosa Pepsi")
cbxProductos.Items.Add(
"Agua Mineral")
cbxProductos.Items.Add(
"Yogurt Gloria")
cbxProductos.SelectedIndex = 0
Case 2
cbxProductos.Items.Clear()
cbxProductos.Items.Add(
"Manzana 1kg")
cbxProductos.Items.Add(
"Uva Italiana")
cbxProductos.Items.Add(
"Mandarinas")
cbxProductos.SelectedIndex = 0
Case 3
cbxProductos.Items.Clear()
cbxProductos.Items.Add(
"Arroz 1kg")
cbxProductos.Items.Add(
"Azucar 1kg")
cbxProductos.Items.Add(
"Aceite 1Lt")
cbxProductos.Items.Add(
"Fideos 1kg")
cbxProductos.SelectedIndex = 0
End Select
End Sub
Private Sub cbxProductos_SelectedIndexChanged(sender
As Object, e
As EventArgs)
Handles
cbxProductos.SelectedIndexChanged
Select Case cbxProductos.SelectedItem
Case "Gaseosa Pepsi" : txtPrecio.Text =
"1.50"
Case "Agua Mineral" : txtPrecio.Text =
"1.00"
Case "Yogurt Gloria" : txtPrecio.Text =
"5.00"
Case "Manzana 1kg" : txtPrecio.Text =
"3.50"
Case "Uva Italiana" : txtPrecio.Text =
"4.00"
Case "Mandarinas" : txtPrecio.Text =
"2.50"
Case "Arroz 1kg" : txtPrecio.Text =
"3.00"
Case "Azucar 1kg" : txtPrecio.Text =
"3.20"
Case "Aceite 1Lt" : txtPrecio.Text =
"5.50"
Case "Fideos 1kg" : txtPrecio.Text =
"1.80"
Case Else
txtPrecio.Text =
"0.0"
End Select
End Sub
Private Sub btnAgregar_Click(sender
As Object, e
As EventArgs)
Handles btnAgregar.Click
If lstProducto.Items.Contains(cbxProductos.SelectedItem)
Then
MessageBox.Show(
"Producto ya Existe Dentro de la Lista",
"Error",
MessageBoxButtons.OK,
MessageBoxIcon.Error)
Else
Select Case cbxCategoria.SelectedIndex
Case 0
MessageBox.Show(
"Por Favor Debe Seleccionar una Categoria",
"Error",
MessageBoxButtons.OK,
MessageBoxIcon.Error)
Case 1
lstCategoria.Items.Add(cbxCategoria.SelectedItem)
Select Case cbxProductos.SelectedIndex
Case 0
lstProducto.Items.Add(cbxProductos.SelectedItem)
lstPrecio.Items.Add(txtPrecio.Text)
Total()
Case 1
lstProducto.Items.Add(cbxProductos.SelectedItem)
lstPrecio.Items.Add(txtPrecio.Text)
Total()
Case 2
lstProducto.Items.Add(cbxProductos.SelectedItem)
lstPrecio.Items.Add(txtPrecio.Text)
Total()
End Select
Case 2
lstCategoria.Items.Add(cbxCategoria.SelectedItem)
Select Case cbxProductos.SelectedIndex
Case 0
lstProducto.Items.Add(cbxProductos.SelectedItem)
lstPrecio.Items.Add(txtPrecio.Text)
Total()
Case 1
lstProducto.Items.Add(cbxProductos.SelectedItem)
lstPrecio.Items.Add(txtPrecio.Text)
Total()
Case 2
lstProducto.Items.Add(cbxProductos.SelectedItem)
lstPrecio.Items.Add(txtPrecio.Text)
Total()
End Select
Case 3
lstCategoria.Items.Add(cbxCategoria.SelectedItem)
Select Case cbxProductos.SelectedIndex
Case 0
lstProducto.Items.Add(cbxProductos.SelectedItem)
lstPrecio.Items.Add(txtPrecio.Text)
Total()
Case 1
lstProducto.Items.Add(cbxProductos.SelectedItem)
lstPrecio.Items.Add(txtPrecio.Text)
Total()
Case 2
lstProducto.Items.Add(cbxProductos.SelectedItem)
lstPrecio.Items.Add(txtPrecio.Text)
Total()
Case 3
lstProducto.Items.Add(cbxProductos.SelectedItem)
lstPrecio.Items.Add(txtPrecio.Text)
Total()
End Select
End Select
End If
End Sub
Sub Total()
For i = 0
To lstPrecio.Items.Count - 1
Dim Suma
As Decimal = Suma +
CDec(lstPrecio.Items.Item(i))
lblTotal.Text =
CDec(Suma)
Next
End Sub
Private Sub lstCategoria_Click(sender
As Object, e
As EventArgs)
Handles lstCategoria.Click
lstProducto.SelectedIndex = lstCategoria.SelectedIndex
lstPrecio.SelectedIndex = lstCategoria.SelectedIndex
End Sub
Private Sub lstProducto_Click(sender
As Object, e
As EventArgs)
Handles lstProducto.Click
lstCategoria.SelectedIndex = lstProducto.SelectedIndex
lstPrecio.SelectedIndex = lstProducto.SelectedIndex
End Sub
Private Sub lstPrecio_Click(sender
As Object, e
As EventArgs)
Handles lstPrecio.Click
lstCategoria.SelectedIndex = lstPrecio.SelectedIndex
lstProducto.SelectedIndex = lstPrecio.SelectedIndex
End Sub
Private Sub btnEliminar_Click(sender
As Object, e
As EventArgs)
Handles btnEliminar.Click
If MsgBox(
"Está Seguro que Desea Eliminar El Producto a Vender",
MsgBoxStyle.YesNo) = vbYes
Then
Dim i
As Integer = lstCategoria.SelectedIndex
If i >= 0
Then
Dim precio
As Decimal =
CDec(lstPrecio.Text)
lstCategoria.Items.RemoveAt(i)
lstProducto.Items.RemoveAt(i)
lstPrecio.Items.RemoveAt(i)
Total()
ElseIf lstCategoria.Items.Contains(cbxCategoria.SelectedItem)
Then
MessageBox.Show(
"Debe Seleccionar el Producto de la Lista a Eliminar",
"Error",
MessageBoxButtons.OK,
MessageBoxIcon.Error)
Else
MessageBox.Show(
"No Existe Ningun Producto Dentro de la Lista",
"Error",
MessageBoxButtons.OK,
MessageBoxIcon.Error)
End If
End If
End Sub
End Class