Anda di halaman 1dari 9

Sistemas UNI. Instructor: V. Carlos, Segura P.

LABORATORIO WINDOWS FORMS .NET – 7.

Derechos Reservados, solo para ser usados dentro de la


institución.
Derechos de Autor

El contenido de este laboratorio tiene todos los derechos reservados, por lo tanto no se
puede reproducir, transcribir, almacenar a un sistema de recuperación o de alteración,
asimismo la traducción a otro idioma de ninguna forma o por ningún medio mecánico,
manual, electrónico, magnético, óptico o de otro modo.

La persecución de una reproducción no autorizada tiene como


consecuencia la cárcel y/o multas.

UNIVERSIDAD NACIONAL DE INGENIERIA 1


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.

7 WINDOWS FORMS

1 Creando Controles en Forma Dinámica, Alojando Controles


Activex.
1.1 Creando Controles.

La forma de crear controles, es muy fácil en .net primero debemos saber el nombre d la clase del control,
esto lo podemos ver en el cuadro de herramientas cuando alojamos un control en el formulario.

Una vez averiguado el nombre de la clase, esta puede ser referenciado y usado sus propiedades como si
estuviéramos usando el cuadro de propiedades:

Y por ultimo si nosotros ejecutamos veremos que el control no se mostrar en el formulario, para esto
tenemos que establecer el evento que se encarga de mostrar los controles en el formulario el cual es:

UNIVERSIDAD NACIONAL DE INGENIERIA 2


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.

[Objeto].Controls.Add( [Objeto Creado] )

Ejemplo:

Para colocar un control en un formulario:

Igual manera lo podemos hacer en un GroupBox:

Para alojar controles en los formularios hay que tener siempre encuentra cuatro propiedades importantes de
ubicación de un control:

Top

Left Heigh

Width

1.2 Creando Eventos a los Controles.

Delegados.
Un delegado es una estructura de programación que nos permite invocar a uno o varios métodos a
la vez. Estos métodos pueden encontrarse en la misma clase desde la que se invocan o en clases
distintas asociadas a ésta.

 Gestión de eventos:
Quizás éste sea el principal uso de los delegados. Notificar a uno o varios componentes el
acontecimiento de un determinado evento con el fin de que dichos componentes tomen alguna
acción al respecto. Este es el fundamento de la programación orientado a eventos (uno de los pilares
de la programación visual). Utilizando eventos, los componentes de la interfaz avisan a la lógica de
negocios que el usuario ha ejecutado alguna acción sobre los componentes de la misma (por
ejemplo, presionar el botón del mouse o presionar una tecla).

 Agregar un Evento a un control


Para esto, la forma de crear un control debe ser creándolo con eventos:

[Ambito] WithEvents [Nombre del Control] As New [Control]

Luego debemos asignarle en evento correspondiente

AddHandler [Control].[Evento], AddressOf [Nombre del Evento]

UNIVERSIDAD NACIONAL DE INGENIERIA 3


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.

Para esto variaremos el ejemplo anterior:

1.- Crear el control en un ámbito visible con la propiedad WithEvents:

WithEvents oBoton As New Button

2.- Se debe asignar las propiedades al control y agregarlo al formulario:

3.- Ahora necesitamos que parámetro recibe un botón en el evento Click, para esto crearemos un botón en
formulario, le damos doble Click para ver el evento creado y copiar los parámetros de entrada:

Una vez averiguado esto, crearemos la siguiente función:

4.- Ahora solo falta agregar la asociación entre la definición del delegado del evento y el control, para que
estén asociados, es decir en el Load del formulario colocarlo siguiente:

AddHandler oBoton.Click, AddressOf EventoBoton

Una vez terminado, pordemos hacer un seguiemineto para ver como se genera el evento asociado.

UNIVERSIDAD NACIONAL DE INGENIERIA 4


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.

1.3 Agregando Controles Activex.

Para esto, desde el cuadro de herramientas, seleccionamos agregar elementos como se muestra en la
figura:

Luego nos saldrá la siguiente pantalla, en el cual seleccionaremos Componentes COM, en el cual
seleccionaremos Windows Media Placer, como se muestra en la figura:

Por ultimo este control se agregara como una ficha más dentro del cuadro de herramientas:

UNIVERSIDAD NACIONAL DE INGENIERIA 5


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.

Como veremos este control lo podemos agregar cuantas veces queremos:

Laboratorio 09:
Realizando el uso de Controles Activex
1.- Para realizar este ejemplo colocamos un SplitContainer, dentro del cual el diseño debe quedar como
sigue:

2.- Y dentro del botón abrir solo colocaríamos lo siguiente:

Dim OpenFile As New OpenFileDialog


With OpenFile
.Filter = "Musica (*.mp3)|*.mp3|Todos los Archivos (*.*)|*.*"
If .ShowDialog = Windows.Forms.DialogResult.OK Then
'Selección del archivo a abrir:
Me.ctlPlayer.URL = .FileName
'Ejecucion del archivo:
Me.ctlPlayer.Ctlcontrols.play()
End If
End With

3.- Al ejecutar tendríamos lo siguiente:

UNIVERSIDAD NACIONAL DE INGENIERIA 6


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.

Realizando la creación de Controles en forma Dinámica.


I.- Primero crear el siguiente diseño dentro de un nuevo formulario llamado frmReporteador:

II.- Luego en el evento Load del formulario creamos lo siguiente:

With Me.cmbListados.Items
.Add("Listado de Ventas")
.Add("Ventas de Día")
.Add("Informe de Stock")
End With

III.- En el botón Mostrar del formulario, colocamos lo siguiente:

Select Case Me.cmbListados.SelectedIndex


Case 0
Me.GroupBox2.Text = "Listados de Ventas"
MostrarListadosVentas()
Case 1
Me.GroupBox2.Text = "Ventas del Día"
MostrarVentaDia()
Case 2

UNIVERSIDAD NACIONAL DE INGENIERIA 7


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.

Me.GroupBox2.Text = "Informe de Stock"


MostrarInfStock()
Case Else
Me.GroupBox2.Text = ""
Me.GroupBox2.Controls.Clear()
End Select

IV.- Crear el método MostrarListadoVentas, dentro del formulario el cual debe quedar como sigue:

Sub MostrarListadosVentas()
Dim chk As CheckBox
Dim xTop As Integer

Me.GroupBox2.Controls.Clear()
For i As Integer = 0 To 6
chk = New CheckBox
With chk
.Name = "chkAgencia" + i.ToString
.Text = "Agencia: 0" + i.ToString
.Left = 10
xTop += 7 + .Height
.Top = xTop
End With
Me.GroupBox2.Controls.Add(chk)
chk = Nothing
Next

Dim _Boton As New Button


With _Boton
.Name = "btnImprimir"
.Text = "Imprimir"
.Left = 140
.Top = xTop
End With
Me.GroupBox2.Controls.Add(_Boton)
End Sub

V.- En el botón borrar colocamos lo siguiente:

Me.GroupBox2.Controls.Clear()

Que al ejecutar se mostrara lo siguiente:

UNIVERSIDAD NACIONAL DE INGENIERIA 8


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS
Sistemas UNI. Instructor: V. Carlos, Segura P.

VI.- Crear los métodos MostrarInformeStock y MostrarVentasDia dentro del formulario el cual debe mostrar
las siguientes pantallas:

MostrarInformeStock:

MostrarVentasDia

UNIVERSIDAD NACIONAL DE INGENIERIA 9


FACULTAD DE INGENIERIA INDUSTRIAL Y DE SISTEMAS

Anda mungkin juga menyukai