Está en la página 1de 10

CONTROLES AVANZADOS DEL LP.

Estructuras Repetitivas
Estas estructuras, tambin denominadas bucles, ejecutan un bloque de cdigo de forma repetitiva mientras
se cumpla una condicin asociada a la estructura. A cada una de las veces en que se ejecuta el cdigo
contenido en estas estructuras se le denomina iteracin.
Do...Loop
Esta estructura ejecuta un conjunto de lneas de cdigo, en funcin del valor devuelto por una expresin,
que a modo de condicin, podemos situar al comienzo o final de la estructura.
Sintaxis
Do While (Condicin)
' cdigo
' ......
' ......
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 tambin 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 ms elementos a la vez, y el usuario no tiene que buscar y desplazarse hasta un elemento.
PROPIEDADES
BackColor
Items
MultiColumn

Text

Reemplazado. Vea Control.BackColor.


Obtiene los elementos del control ListBox.
Obtiene o establece un valor que indica si el control ListBox admite varias
columnas.
Obtiene o establece el nombre del control.
Obtiene o establece un valor que indica si los elementos del control ListBox se
ordenan alfabticamente.
Reemplazado. Obtiene o establece el ndice que especifica el elemento
seleccionado actualmente.
Obtiene o establece el elemento seleccionado actualmente en el ComboBox.
Obtiene o establece el texto que se selecciona en la parte de un ComboBox que se
puede editar.
Reemplazado. Obtiene o establece el texto asociado al control.

Remove

Quita el objeto especificado de la coleccin

RemoveAt

Quita el elemento en el ndice especificado de la coleccin

Name
Sorted
SelectedIndex
SelectedItem
SelectedText

MTODOS
Focus
Hide
Refresh
Show
Update

Establece el foco de entrada en el control.


Oculta el control al usuario.
Reemplazado. Vea Control.Refresh.
Muestra el control al usuario.
Hace que el control vuelva a dibujar las regiones no vlidas en su rea de cliente.

Ing. Oscar Ascn Valdivia

Combobox
Un ComboBox muestra un campo de edicin combinado con un ListBox y permite al usuario seleccionar
una opcin de la lista o escribir texto nuevo. El comportamiento predeterminado de ComboBox es
mostrar un campo de edicin con una lista desplegable oculta.
PROPIEDADES
BackColor
Reemplazado. Vea Control.BackColor.
Items
Obtiene un objeto que representa la coleccin 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 estn
ordenados.
Text
Reemplazado. Obtiene o establece el texto asociado al control.
MTODOS
FindString
Focus
Refresh
Select
SelectAll
Show

Sobrecargado. Busca el primer elemento del ComboBox que comienza con la


cadena especificada.
Establece el foco de entrada en el control.
Obliga al control a invalidar su rea cliente y, acto seguido, obliga a que vuelva a
dibujarse el control y sus controles secundarios.
Sobrecargado. Selecciona un intervalo de texto.
Selecciona todo el texto de la parte editable del ComboBox.
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 presentacin 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 seleccin 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
CalendarFont
CalendarForeColor
Checked

Enabled
Format

Ing. Oscar Ascn Valdivia

Reemplazado. Vea Control.BackColor.


Obtiene o establece el estilo de fuente que se aplica al calendario.
Obtiene o establece el color de primer plano del calendario.
Obtiene o establece un valor que indica si la propiedad Value se ha
establecido con un valor de fecha y hora vlido, y si el valor mostrado se
puede actualizar.
Obtiene o establece un valor que indica si el control puede responder a la
interaccin del usuario.
Obtiene o establece el formato de fecha y hora que se muestra en el control.

MaxDate
MinDate
Name
Text
Value
MTODOS
Focus
Hide
Invoke
Refresh
Show

Obtiene o establece la fecha y hora mximas que se pueden seleccionar en


el control.
Obtiene o establece la fecha y hora mnimas que se pueden seleccionar en
el control.
Obtiene o establece el nombre del control.
Reemplazado. Obtiene o establece el texto asociado al control.
Obtiene o establece el valor de fecha y hora asignado al control.

Establece el foco de entrada en el control.


Oculta el control al usuario.
Sobrecargado. Ejecuta un delegado en el subproceso que posee el
identificador de ventana subyacente del control.
Obliga al control a invalidar su rea cliente y, acto seguido, obliga a que
vuelva a dibujarse el control y sus controles secundarios.
Muestra el control al usuario.

CASOS PRACTICOS
1. Disear 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 Ascn Valdivia

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 Ascn Valdivia

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
3. el contador
Me.lstdni.Items.Add(Me.cbodni.Text)
Se incrementa
Me.lstnombres.Items.Add(Me.txtnombres.Text)
en 1 y lo
Me.lstapellidos.Items.Add(Me.txtapellidos.Text)
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 Ascn Valdivia

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 Ascn Valdivia

4. Disear y programar un formulario que permita vender pasajes a tres ciudades, cada una de ellas tiene
un lmite 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 Ascn Valdivia

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 Ascn Valdivia

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, adems debe de calcular el
total a pagar y adems debe de disminuir el importe de los productos eliminados.

Ing. Oscar Ascn Valdivia

Ing. Oscar Ascn Valdivia

10