Está en la página 1de 10

CONTROLES AVANZADOS DEL LP.

Estructuras Repetitivas
Estas estructuras, también denominadas bucles, ejecutan un bloque de código de forma repetitiva mientras
se cumpla una condición asociada a la estructura. A cada una de las veces en que se ejecuta el código
contenido en estas estructuras se le denomina iteración.

Do...Loop
Esta estructura ejecuta un conjunto de líneas de código, en función del valor devuelto por una expresión,
que a modo de condición, podemos situar al comienzo o final de la estructura.

Sintaxis
Do While (Condición)
' código
' ......
' ......
Loop

CONTROLES DE VISUAL BASIC.NET


Listbox
El control ListBox permite mostrar una lista de elementos para que el usuario los seleccione haciendo clic
en ellos. Un control ListBox puede proporcionar una o varias selecciones mediante la propiedad
SelectionMode. ListBox también proporciona la propiedad MultiColumn para poder mostrar los
elementos en columnas en lugar de mostrarlos en una lista vertical. De este modo, el control puede
mostrar más elementos a la vez, y el usuario no tiene que buscar y desplazarse hasta un elemento.

PROPIEDADES
BackColor Reemplazado. Vea Control.BackColor.
Items Obtiene los elementos del control ListBox.
MultiColumn Obtiene o establece un valor que indica si el control ListBox admite varias
columnas.
Name Obtiene o establece el nombre del control.
Sorted Obtiene o establece un valor que indica si los elementos del control ListBox se
ordenan alfabéticamente.
SelectedIndex Reemplazado. Obtiene o establece el índice que especifica el elemento
seleccionado actualmente.
SelectedItem Obtiene o establece el elemento seleccionado actualmente en el ComboBox.
SelectedText Obtiene o establece el texto que se selecciona en la parte de un ComboBox que se
puede editar.
Text Reemplazado. Obtiene o establece el texto asociado al control.
Remove Quita el objeto especificado de la colección

RemoveAt Quita el elemento en el índice especificado de la colección

MÉTODOS
Focus Establece el foco de entrada en el control.
Hide Oculta el control al usuario.
Refresh Reemplazado. Vea Control.Refresh.
Show Muestra el control al usuario.
Update Hace que el control vuelva a dibujar las regiones no válidas en su área de cliente.

Ing. Oscar Ascón Valdivia 1


Combobox
Un ComboBox muestra un campo de edición combinado con un ListBox y permite al usuario seleccionar
una opción de la lista o escribir texto nuevo. El comportamiento predeterminado de ComboBox es
mostrar un campo de edición con una lista desplegable oculta.
PROPIEDADES
BackColor Reemplazado. Vea Control.BackColor.
Items Obtiene un objeto que representa la colección de los elementos que contiene el
ComboBox.
Name Obtiene o establece el nombre del control.
SelectedIndex Reemplazado. Obtiene o establece el índice que especifica el elemento seleccionado
actualmente.
SelectedItem Obtiene o establece el elemento seleccionado actualmente en el ComboBox.
SelectedText Obtiene o establece el texto que se selecciona en la parte de un ComboBox que se
puede editar.
SelectedValue Obtiene o establece el valor de la propiedad miembro especificada por la propiedad
ValueMember.
Sorted Obtiene o establece un valor que indica si los elementos del cuadro combinado están
ordenados.
Text Reemplazado. Obtiene o establece el texto asociado al control.

MÉTODOS
FindString Sobrecargado. Busca el primer elemento del ComboBox que comienza con la
cadena especificada.
Focus Establece el foco de entrada en el control.
Refresh Obliga al control a invalidar su área cliente y, acto seguido, obliga a que vuelva a
dibujarse el control y sus controles secundarios.
Select Sobrecargado. Selecciona un intervalo de texto.
SelectAll Selecciona todo el texto de la parte editable del ComboBox.
Show Muestra el control al usuario.

Datetimepicker
El control DateTimePicker se utiliza para permitir al usuario seleccionar una fecha y una hora, y para
mostrar esa fecha y esa hora en el formato especificado. Es posible limitar las fechas y las horas que se
pueden seleccionar al establecer las propiedades MinDate y MaxDate.
Para cambiar la presentación de la parte del control que corresponde al calendario, establezca las
propiedades CalendarForeColor, CalendarFont, CalendarTitleBackColor, CalendarTitleForeColor,
CalendarTrailingForeColor y CalendarMonthBackground.
Si se necesita aplicar un formato de fecha personalizado y limitar la selección a una sola fecha, se puede
utilizar un control DateTimePicker en lugar de MonthCalendar. Al utilizar DateTimePicker, se limitará la
necesidad de validar muchos datos de valores de fecha y hora.

PROPIEDADES
BackColor Reemplazado. Vea Control.BackColor.
CalendarFont Obtiene o establece el estilo de fuente que se aplica al calendario.
CalendarForeColor Obtiene o establece el color de primer plano del calendario.
Checked Obtiene o establece un valor que indica si la propiedad Value se ha
establecido con un valor de fecha y hora válido, y si el valor mostrado se
puede actualizar.
Enabled Obtiene o establece un valor que indica si el control puede responder a la
interacción del usuario.
Format Obtiene o establece el formato de fecha y hora que se muestra en el control.

Ing. Oscar Ascón Valdivia 2


MaxDate Obtiene o establece la fecha y hora máximas que se pueden seleccionar en
el control.
MinDate Obtiene o establece la fecha y hora mínimas que se pueden seleccionar en
el control.
Name Obtiene o establece el nombre del control.
Text Reemplazado. Obtiene o establece el texto asociado al control.
Value Obtiene o establece el valor de fecha y hora asignado al control.

MÉTODOS
Focus Establece el foco de entrada en el control.
Hide Oculta el control al usuario.
Invoke Sobrecargado. Ejecuta un delegado en el subproceso que posee el
identificador de ventana subyacente del control.
Refresh Obliga al control a invalidar su área cliente y, acto seguido, obliga a que
vuelva a dibujarse el control y sus controles secundarios.
Show Muestra el control al usuario.

CASOS PRACTICOS
1. Diseñar e implementar un formulario que permita realizar las operaciones basicas de los controles
ListBox y ComboBox

Private Sub btnagregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnagregar.Click
Me.lstapellidos.Items.Add(Me.txtapellidos.Text)
Me.lstnombres.Items.Add(Me.txtnombres.Text)
Me.lstdni.Items.Add(Me.cbodni.Text)
End Sub

Private Sub btnlimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnlimpiar.Click
Me.lstapellidos.Items.Clear()
Me.lstnombres.Items.Clear()
Me.lstdni.Items.Clear()
End Sub

Ing. Oscar Ascón Valdivia 3


Private Sub btncontar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
btncontar.Click
Dim contar As Integer
contar = Me.lstdni.Items.Count
Me.txttotal.Text = contar
End Sub

Private Sub btneliminarp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btneliminarp.Click
Dim pos As Integer
pos = Me.lstdni.SelectedIndex
If pos >= 0 Then
Me.lstdni.Items.RemoveAt(pos)
Me.lstapellidos.Items.RemoveAt(pos)
Me.lstnombres.Items.RemoveAt(pos)
Else
MessageBox.Show("Seleccione un elemento", "Eliminar", MessageBoxButtons.OK,
MessageBoxIcon.Hand)
End If
End Sub

Private Sub btneliminare_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btneliminare.Click
Dim dni, nombres, apellidos As String
dni = Me.lstdni.SelectedItem
nombres = Me.lstnombres.SelectedItem
apellidos = Me.lstapellidos.SelectedItem
Me.lstdni.Items.Remove(dni)
Me.lstapellidos.Items.Remove(apellidos)
Me.lstnombres.Items.Remove(nombres)
End Sub

Private Sub btnelemento_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btnelemento.Click
Dim elemento As Integer
elemento = Me.lstdni.SelectedIndex
Me.txttotal.Text = elemento
End Sub

2. Desarrollar un programa que solo permita agregar 5 trabajadores y eliminar a un trabajador


seleccionado.

Ing. Oscar Ascón Valdivia 4


Public Class frmdowhile
Public contador As Integer
Public pos As Integer 1. Para un acumulador o
contador: Primero se
declara la variable publica

Private Sub frmdowhile_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


MyBase.Load
2. Luego debemos inicializarlo en un valor,
contador = 0
en el evento Load del formulario
End Sub

Private Sub Btnagregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnagregar.Click
Do While contador < 5
Me.lstdni.Items.Add(Me.cbodni.Text) 3. el contador
Me.lstnombres.Items.Add(Me.txtnombres.Text) Se incrementa
Me.lstapellidos.Items.Add(Me.txtapellidos.Text) en 1 y lo
evaluamos
contador = contador + 1
Me.txttotal.Text = contador
Exit Sub
Loop
MsgBox("Registrar hasta 5 trabajadores", MsgBoxStyle.Exclamation, "Agregar")
End Sub

Private Sub btneliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)


Handles btneliminar.Click
pos = Me.lstdni.SelectedIndex
If pos >= 0 Then
Me.lstdni.Items.RemoveAt(pos)
Me.lstnombres.Items.RemoveAt(pos)
Me.lstapellidos.Items.RemoveAt(pos)
contador = contador - 1
Me.txttotal.Text = contador
Else
MessageBox.Show("Seleccionar elemento a eliminar", "Eliminar", MessageBoxButtons.OK,MessageBoxIcon.Hand)
End If
End Sub
End Class

3. Desarrollar e implementar un formulario que permita trabajar con arreglos

Ing. Oscar Ascón Valdivia 5


Public Class frmventa
Public precio(4) As Double
Public descripcion(4) As String
Public total, st As Double

Private Sub btncalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btncalcular.Click
Dim c, pu, t As Double
c = Me.txtcantidad.Text
pu = Me.txtprecio.Text
st = c * pu
Me.txtsubtotal.Text = st
End Sub

Private Sub frmventa_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


MyBase.Load
precio(0) = 350
precio(1) = 570.5
precio(2) = 1285.5
precio(3) = 185.9
descripcion(0) = "Televisor LG Color"
descripcion(1) = "Refrigerador Panasonic No frosh"
descripcion(2) = "Computador Pentium IV"
descripcion(3) = "Cocina Faeda 4 ornillas"
total = 0
End Sub

Private Sub cboproducto_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles cboproducto.SelectedIndexChanged
Me.txtdecripcion.Text = descripcion(Me.cboproducto.SelectedIndex)
Me.txtprecio.Text = precio(Me.cboproducto.SelectedIndex)
Me.txtcantidad.Focus()
End Sub

Private Sub btnagregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnagregar.Click
Me.lstproducto.Items.Add(Me.cboproducto.Text)
Me.lstprecio.Items.Add(Me.txtprecio.Text)
Me.lstcantidad.Items.Add(Me.txtcantidad.Text)
Me.lstsubtotal.Items.Add(Me.txtsubtotal.Text)
total = total + st
Me.txttotal.Text = total
End Sub

Private Sub btnsalir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnsalir.Click
Dim x As Integer
x = MessageBox.Show("Desea Salir", "Salir", MessageBoxButtons.YesNo,
MessageBoxIcon.Question)
If x = 6 Then
End
End If
End Sub

End Class

Ing. Oscar Ascón Valdivia 6


4. Diseñar y programar un formulario que permita vender pasajes a tres ciudades, cada una de ellas tiene
un límite de pasaje.

Public Class frmpasajes


Public asientos(3) As Integer
Public t, l, h As Integer

Private Sub cbodestino_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles cbodestino.SelectedIndexChanged
Me.txtasientos.Text = asientos(Me.cbodestino.SelectedIndex)

End Sub

Private Sub frmpasajes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


MyBase.Load
asientos(0) = 30
asientos(1) = 20
asientos(2) = 15
t=0
l=0
h=0
End Sub

Private Sub btnventa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnventa.Click
Dim destino As Integer
destino = Me.cbodestino.SelectedIndex
Select Case destino
Case 0
Do While t < 30
Me.lstnombres.Items.Add(Me.txtnombres.Text + " " + Me.txtapellidos.Text)
Me.lstdestino.Items.Add(Me.cbodestino.Text)
Me.lstventa.Items.Add(t)
t=t+1
Me.txttrujillo.Text = t
Exit Sub
Loop

Ing. Oscar Ascón Valdivia 7


MessageBox.Show("Asientos Agotados", "Venta ECS", MessageBoxButtons.OK,
MessageBoxIcon.Information)

Case 1
Do While l < 20
Me.lstnombres.Items.Add(Me.txtnombres.Text + " " + Me.txtapellidos.Text)
Me.lstdestino.Items.Add(Me.cbodestino.Text)
Me.lstventa.Items.Add(l)
l=l+1
Me.txtlima.Text = l
Exit Sub
Loop
MessageBox.Show("Asientos Agotados", "Venta ECS", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Case 2
Do While h < 15
Me.lstnombres.Items.Add(Me.txtnombres.Text + " " + Me.txtapellidos.Text)
Me.lstdestino.Items.Add(Me.cbodestino.Text)
Me.lstventa.Items.Add(h)
h=h+1
Me.txthuaraz.Text = h
Exit Sub
Loop
MessageBox.Show("Asientos Agotados", "Venta ECS", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Case Else
MessageBox.Show("Destino no existe", "Venta ECS", MessageBoxButtons.OK,
MessageBoxIcon.Information)
End Select
End Sub

Private Sub btnreportar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles


btnreportar.Click
t=0
l=0
h=0
Me.txthuaraz.Text = h
Me.txttrujillo.Text = t
Me.txtlima.Text = l
Me.lstdestino.Items.Clear()
Me.lstventa.Items.Clear()
Me.lstnombres.Items.Clear()
End Sub
End Class

Ing. Oscar Ascón Valdivia 8


PRACTICA
1. Desarrollar el siguiente ejercicio que permita registrar alumnos hasta la vacante indicada (VB.Net=15;
C#= 20; SQL Server 2000= 12), caso contrario mostrar un mensaje de vacantes completas

2. Desarrollar e implementar un formulario que permita trabajar con arreglos, además debe de calcular el
total a pagar y además debe de disminuir el importe de los productos eliminados.

Ing. Oscar Ascón Valdivia 9


Ing. Oscar Ascón Valdivia 10

También podría gustarte