Resumen: Entrega nº20 del curso Aprender a programar en Visual Basic desde cero.
Codificación aprenderaprogramar.com: CU00321A

 

 

CÓDIGO ASOCIADO A EVENTOS. COMMAND BUTTONS.

La programación en Visual Basic es guiada por eventos. Por ello, cuando pedimos un dato hemos de esperar a que suceda un evento para que continúe ejecutándose el código. Sobre un formulario, coloca un TextBox, un Label y un Button (en algunas versiones de VB se denomina CommandButton), que es otro de los elementos disponibles en la barra de herramientas, cuyo símbolo es un rectángulo y que representa “un botón”.

Visual Basic

Una vez añadidos estos tres controles al formulario vete a la ventana de código.

Observa que existen dos pestañas encima del espacio para la escritura de código. Si despliegas la pestaña de la izquierda, verás que se encuentran los distintos objetos que forman el programa y que por el momento son: el formulario o Form, la etiqueta o Label, la caja de texto o TextBox y el botón al que Visual Basic por defecto le pone nombre Button1 ó Command1 según la versión que estemos utilizando. Selecciona el Button1 (Command1). Ahora que tenemos en la pestaña izquierda seleccionado el botón, si pulsamos la pestaña derecha se muestra una lista de eventos que son detectables para el control que tenemos seleccionado. Por ejemplo, Click es el evento que se produce cuando el usuario hace click sobre el botón. MouseMove es el evento que se produce cuando el usuario mueve el puntero encima del CommandButton.

button code visual basic

 

eventos visual basic

 

 

Cuando elegimos un objeto y un evento, aparece en la ventana de código el encabezado y terminación de un procedimiento de respuesta a dicho evento. Veamos un ejemplo. Agranda el objeto label sobre el formulario (establece la propiedad AutoSize a False para poder hacerlo), selecciona como control el botón en la pestaña izquierda y MouseMove como evento en la pestaña derecha y escribe lo siguiente:

Código (versionesVB menos recientes) Código (versiones VB más recientes)
Rem Curso Visual Basic aprenderaprogramar.com
Option Explicit

Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Label1.Caption = Label1.Caption & "Hola... "
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On

Public Class Form1
Private Sub Button1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseMove
        Label1.Text = Label1.Text & "Hola... "
    End Sub
End Class

 

 

Ejecuta el programa y pasa el puntero del ratón sobre el botón. Comprobarás que aparecen múltiples "Hola…" sobre el formulario (en el label). Es decir, cada vez que tiene lugar el evento, se ejecuta el código asociado.

Crea ahora un procedimiento de respuesta al click de este tipo:

Código (versionesVB menos recientes) Código (versiones VB más recientes)
Rem Curso Visual Basic aprenderaprogramar.com
Option Explicit

Private Sub Command1_Click()                                 
Label1.Caption = Label1.Caption & "Hola... "
End Sub
 
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On

Public Class Form1
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = Label1.Text & "Hola... "
    End Sub
End Class

 

 

Comprobarás que cada vez que haces click sobre el botón se muestra el mensaje “Hola…” en el label sobre el formulario. Este tipo de procesos es vital en los programas: piensa cuando instalas un programa, cuántas veces pulsas Aceptar ó Continuar. Cada vez que lo haces, das lugar a que se ejecute un paquete de código. En cambio, si no lo haces, no tiene lugar el evento y puedes irte a tomar un café. Cuando vuelvas encontrarás que no ha sucedido nada.

Al igual que otros controles que venimos viendo, un botón tiene propiedades cuya gestión es igual a lo que hemos visto, en tiempo de diseño (trabajo gráfico sobre el formulario) o en tiempo de ejecución (a través de código). Podemos destacar las siguientes:

· Name: establece el nombre del botón. Recomendamos que siempre sea un prefijo común a todos los botones seguido de un término que nos permita identificar al botón. Por ejemplo, un botón para realizar un cálculo podríamos nombrarlo ButtonCalcular. Una rutina de respuesta a un click sería:

     Private Sub ButtonCalcular_Click()

...

     End Sub

 

· Text ó Caption, según la versión de Visual Basic que estemos empleando: establece el texto que se muestra al usuario sobre el botón. Por ejemplo, "Calcular".

· AcceptButton (propiedad del formulario en versiones de Visual Basic más recientes) ó Default (propiedad del botón en versiones menos recientes): es una propiedad interesante de los botones, ya que nos permite establecer si una pulsación de enter por parte del usuario equivale a un click a efectos de ejecución del código asociado. Es decir, supón que tienes un botón denominado ButtonCalcular y que además tienes un TextBox donde pides al usuario que introduzca un dato. Si establecemos en las propiedades del form como AcceptButton el ButtonCalcular (o establecemos Default como True para el botón en las versiones menos recientes), cuando el usuario pulse enter después de introducir el texto pedido, se ejecutará el código asociado. Prueba a establecer lo que hemos indicado con un formulario en el que hayas insertado un botón, un TextBox y un Label y comprueba que habiendo escrito un texto en el TextBox tras pulsar enter se ejecute el código previsto (que hará que se muestre "Has pulsado el botón o pulsado enter...") :

 

Código (versionesVB menos recientes) Código (versiones VB más recientes)
Rem Curso Visual Basic aprenderaprogramar.com
Option Explicit

Private Sub Command1_Click()
Label1.Caption = Label1.Caption & "Has pulsado el botón o pulsado enter... "
End Sub
REM Curso Visual Basic aprenderaprogramar.com
Option Explicit On

Public Class Form1
    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label1.Text = Label1.Text & "Has pulsado el botón o pulsado enter... "
    End Sub
End Class

 

accept button visual basic

 

 

Comprobarás que tiene efecto tanto hacer click sobre el Command Button como pulsar enter. Ten en cuenta que en muchas ocasiones, por ejemplo después de pedir un dato, una clave, etc. el usuario tiende a pulsar enter para dar paso a la continuación del programa. Esta propiedad te permite crear programas en los que se da relevancia a la pulsación de enter.

· Otras propiedades: al igual que con otros controles, existen diferentes propiedades que no hemos citado. Prueba a modificar y comprobar los efectos de algunas de ellas.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.
 
Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Descargar archivo: