Está en la página 1de 26

Trabajar con controles

Descripcin

Crear un controlador de eventos para un control Uso de los controles de los formularios Windows Forms Uso de los cuadros de dilogo en una aplicacin Windows Forms Agregar controles en tiempo de ejecucin Crear mens Validar introduccin de datos de los usuarios

Leccin: crear un controlador de eventos para un control


Modelo de eventos del .NET Framework Qu es un controlador de eventos? La palabra clave Handles Cmo crear controladores de eventos para eventos de control Cmo aadir y eliminar controladores de eventos en tiempo de ejecucin Prctica: crear un controlador de eventos para un control

Modelo de eventos del .NET Framework

Button1

Invoca el delegado

Private Sub Button1_Click(ByVal Sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Delegado
El delegado invoca el procedimiento asociado

Qu es un controlador de eventos?

Controladores de eventos
z z

Mtodos ligados a un evento Cuando el evento se produce, se ejecuta el cdigo del controlador de eventos

Dos argumentos de eventos con controladores de eventos


z z

Un objeto que representa el objeto que produjo el evento Un objeto de evento que contiene cualquier informacin especfica del evento

Private Private Sub Sub Button1_Click Button1_Click (ByVal (ByVal Sender Sender As As System.Object, System.Object, ByVal ByVal e e As As System.EventArgs) System.EventArgs)

La palabra clave Handles

La palabra clave Handles z Declara que un procedimiento controla un evento especfico z Permite especificar controladores de eventos en tiempo de diseo Partes z ProcedureDeclaration
La La rutina rutina puede puede usar usar cualquier cualquier nombre nombre
z

Eventos

La La lista lista de de argumentos argumentos debe debe coincidir coincidir con con la la lista lista usual usual del del evento evento concreto concreto

Public Public Sub Sub Age Age (ByVal (ByVal Sender Sender As As System.Object, System.Object, ByVal ByVal e e As As System.EventArgs) System.EventArgs) Handles Handles Under21.Click, Under21.Click, Twenties.Click, Twenties.Click, Thirties.Click, Thirties.Click, Forties.Click, Forties.Click, FiftiesPlus.click FiftiesPlus.click
Palabra Palabra clave clave Handles Handles Lista Lista de de eventos eventos que que controlar controlar esta esta rutina rutina

Cmo crear controladores de eventos para eventos de controles


Utilizar la palabra clave WithEvents para declarar variables de objetos que se utilizarn con la instruccin Handles Utilizar la palabra clave Handles al final de la declaracin del procedimiento
Sub Sub Button1_Click(ByVal Button1_Click(ByVal sender sender e e As As System.EventArgs) System.EventArgs) Handles Handles As As System.Object, System.Object, Button1.Click Button1.Click

Friend Friend WithEvents WithEvents Button1 Button1 As As System.Windows.Forms.Button System.Windows.Forms.Button Private Private ByVal ByVal

MessageBox.Show("MyHandler MessageBox.Show("MyHandler captured captured the the event") event") End End Sub Sub

Cmo aadir y eliminar controladores de eventos en tiempo de ejecucin

Para asociar un evento a un controlador de eventos en tiempo de ejecucin, utilizar la instruccin AddHandler
AddHandler AddHandler Button3.Click, Button3.Click, AddressOf AddressOf Process1 Process1
El El evento evento que que desea desea controlar controlar La La rutina rutina que que desea desea utilizar utilizar para para controlar controlar el el evento evento

Para eliminar la asociacin de un evento a un controlador de eventos en tiempo de ejecucin, utilizar la instruccin RemoveHandler
RemoveHandler RemoveHandler Button3.Click, Button3.Click, AddressOf AddressOf Process1 Process1

Seleccionar un control Windows Forms segn la funcin


Controles Windows Forms CommonDialog ColorDialog FontDialog OpenDialog SaveDialog PrintDialog PageSetupDialog PrintPreviewDialog Control ButtonBase Checkbox RadioButton TreeView GroupBox ListControls ComboBox ListBox ListView Splitter StatusBar TrackBar ToolBar Scrollbar TextBoxBase TextBox RichTextBox Progressbar PictureBox ScrollableControl ContainerControl Form Panel Data Controls DataGrid

Cmo utilizar el control StatusBar


Aadir un control StatusBar al formulario Hacer clic en la propiedad Panels y abrir el Editor de colecciones StatusBarPanel Utilizar los botones Agregar y Quitar para aadir y eliminar paneles del control StatusBar Configurar las propiedades de los paneles individuales Hacer clic en Aceptar para cerrar el cuadro de dilogo y crear los paneles que se han especificado En la ventana Propiedades, establecer la propiedad ShowPanels como true

Cmo utilizar el control ListBox

Aadir un control ListBox al formulario Aadir elementos a ListBox utilizando la coleccin Items Configurar las propiedades del control ListBox

Cmo utilizar los controles GroupBox y Panel


Arrastrar un control contenedor (Panel o GroupBox) de la Caja de herramientas a un formulario Agregar otros controles al control contenedor, arrastrando cada uno al panel Si se dispone de controles existentes que se desean encerrar en el contenedor, se deben arrastrar a ste Para mostrar barras de desplazamiento para el control Panel, establecer su propiedad AutoScrollbar en True Para mostrar una leyenda en el GroupBox, establecer su propiedad Text con la leyenda adecuada

Cmo utilizar los controles ToolBar e ImageList


Para utilizar Toolbar en un formulario Windows Forms
Aadir un control Toolbar desde la Caja de herramientas al formulario Aadir botones al Toolbar Aadir los botones al ToolbarButtonCollection Configurar los botones estableciendo el texto y/o imagen

Seleccionar cuadros de dilogo en Visual Studio .NET


OpenFileDialog OpenFileDialog SaveFileDialog SaveFileDialog ColorDialog ColorDialog FontDialog FontDialog PrintDialog PrintDialog PageSetupDialog PageSetupDialog

Permite a los usuarios abrir archivos mediante un cuadro de dilogo preconfigurado Selecciona los archivos a guardar y la ubicacin donde deben guardarse Permite a los usuarios seleccionar un color de la paleta y agregar colores a sta Expone las fuentes actualmente instaladas en el sistema Selecciona una impresora y determina otras configuraciones relacionadas con la impresin Configura los detalles de la pgina para su impresin Muestra el aspecto que tendr un documento cuando

Muestra el aspecto que tendr un documento cuando PrintPreviewDialog PrintPreviewDialog se imprima

Cmo mostrar cuadros de dilogo en una aplicacin

Mostrar un cuadro de dilogo Visual Studio .NET preconfigurado

Private Private Sub Sub Button1_Click(ByVal Button1_Click(ByVal sender sender as as System.Object,ByVal System.Object,ByVal e e as as System.EventsArgs) System.EventsArgs) OpenFileDialog1.ShowDialog() OpenFileDialog1.ShowDialog() End End Sub Sub

Mostrar un cuadro de dilogo de mensaje

Private Private Sub Sub PerformSearch() PerformSearch() MessageBox.Show("The MessageBox.Show("The search search is is now now complete", complete", _ _ "My "My Application", Application", MessageBoxButtons.OKCancel, MessageBoxButtons.OKCancel, _ _ MessageBoxIcon.Asterisk) MessageBoxIcon.Asterisk) End End Sub Sub

Propiedad DialogResult
Propiedad DialogResult
Utilizar el valor devuelto por esta propiedad para determinar qu accin ha realizado el usuario
Ejemplo Ejemplo

El valor DialogResult.Cancel indica que el usuario ha hecho clic en el botn Cancel La propiedad DialogResult puede establecerse en tiempo de diseo o en tiempo de ejecucin

Cmo utilizar la entrada de los cuadros de dilogo


Recuperar y utilizar resultados de cuadros de dilogo
En la ventana de cdigo, ir al controlador de eventos o el mtodo para el que desea establecer la propiedad DialogResult Aadir cdigo para recuperar el valor DialogResult
Dim Dim userResponse userResponse As As DialogResult DialogResult = = OpenFileDialog1.ShowDialog() OpenFileDialog1.ShowDialog() If If userResponse userResponse = = DialogResult.OK DialogResult.OK Then Then filePath filePath = = OpenFileDialog1.FileName.ToString OpenFileDialog1.FileName.ToString MessageBox.Show("You MessageBox.Show("You successfully successfully opened: opened: '" '" & & filePath filePath & & "'", "'", "Success", "Success", MessageBoxButtons.OK, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) MessageBoxDefaultButton.Button1)

Coleccin de controles

Coleccin de controles z Representa un coleccin de objetos de control z Utilizar los mtodos Add, Remove y RemoveAt para agregar y eliminar controles de la coleccin
Form1.Controls.Add(textbox1) Form1.Controls.Add(textbox1) Form1.Controls.Remove(textbox1) Form1.Controls.Remove(textbox1)
z

Utilizar el mtodo Contains para determinar si un control forma parte o no de una coleccin
Form1.Controls.Contains(textbox1) Form1.Controls.Contains(textbox1)

Cmo agregar controles en tiempo de ejecucin


Para agregar controles en tiempo de ejecucin
Crear el control que se agregar al contenedor
Dim Dim signatureCheckBox signatureCheckBox As As New New CheckBox() CheckBox() ' ' set set properties properties signatureCheckBox.Left signatureCheckBox.Left = = 24 24 signatureCheckBox.Top signatureCheckBox.Top = = 80 80 signatureCheckBox.Text signatureCheckBox.Text = = "Signature "Signature required" required"

Aadir el control al contenedor utilizando el mtodo Add de la propiedad Controls


' ' add add the the new new control control to to the the collection collection GroupBox1.Controls.Add(signatureCheckBox) GroupBox1.Controls.Add(signatureCheckBox)

Cmo agregar un men contextual a un formulario


Para aadir controles en tiempo de ejecucin
En la Caja de herramientas, hacer doble clic en el control ContextMenu Asociar el men contextual a un formulario o a un control estableciendo la propiedad ContextMenu de ese objeto

Para agregar un men contextual programticamente


Public Public Sub Sub AddContextMenu() AddContextMenu() Dim Dim contxmenu contxmenu as as New New ContextMenu() ContextMenu() Me.ContextMenu() Me.ContextMenu() = = contxmenu contxmenu End End Sub Sub

Cmo agregar elementos de men en tiempo de ejecucin


Agregar elementos de men a un men contextual en tiempo de ejecucin

Dentro del mtodo, crear objetos MenuItem para aadirlos al men contextual de la coleccin Object Dim Dim menuItemNew menuItemNew as as New New MenuItem() MenuItem() Dentro del mtodo, establecer la propiedad Text para cada elemento de men MenuItemNew.Text MenuItemNew.Text = = "New" "New" Dentro del mtodo, aadir elementos de men a la coleccin MenuItems del objeto ContextMenu contxMenu.MenuItems.Add(menuItemNew) contxMenu.MenuItems.Add(menuItemNew)

Cmo crear controladores de men para elementos de men


Para agregar funcionalidades a los elementos de men
Crear un controlador de eventos para el evento MenuItem.Click
Private Private Sub Sub MenuItemNew_Click MenuItemNew_Click (ByVal (ByVal sender sender as as System.Object,ByVal System.Object,ByVal e e as as System.EventsArgs) System.EventsArgs) End End Sub Sub

Escribir el cdigo para controlar el evento


Private Private Sub Sub MenuItemNew_Click MenuItemNew_Click (ByVal (ByVal sender sender as as System.Object,ByVal System.Object,ByVal e e as as System.EventsArgs) System.EventsArgs) MessageBox.Show("You MessageBox.Show("You clicked clicked the the New New Option") Option") End End Sub Sub

Cmo utilizar las propiedades del men

Cmo validar controles utilizando el evento Validating

Utilizar el evento Validating de un control para validar la entrada de los usuarios El evento Validated se dispara cuando la validacin de los controles finaliza la ejecucin de eventos de validacin La propiedad CausesValidation determina si el control anterior participar en la validacin. Si est establecida en False para un control, el control anterior no dispara el evento de validacin

Control ErrorProvider

ErrorProvider
z

Muestra errores cuando se valida la entrada del usuario en un formulario Muestra errores en un dataset

Principales propiedades
DataSource DataSource ContainerControl ContainerControl Icon Icon

Mtodo clave
SetError SetError

Cmo utilizar el control ErrorProvider


Para utilizar el control ErrorProvider
Aadir controles al formulario Aadir el control ErrorProvider Aadir cdigo al evento Validating del primer control

También podría gustarte