Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los eventos para los controles (y para formularios) se establecen generalmente a través del Diseñador visual de Visual Studio para Windows Forms. Establecer un evento a través del Diseñador visual se conoce como control de un evento en tiempo de diseño. También puede controlar los eventos dinámicamente en el código, conocidos como controlar eventos en tiempo de ejecución. Un evento creado en tiempo de ejecución permite conectar controladores de eventos dinámicamente en función de lo que la aplicación está haciendo actualmente.
Controlar un evento en tiempo de diseño
En Visual Studio, use el Diseñador visual para administrar controladores para eventos de control. El Diseñador visual generará el código del controlador y lo agregará al evento automáticamente.
Configura el controlador
Use el panel Propiedades para agregar o establecer el controlador de un evento:
Abra el Diseñador Visual del formulario que contiene el control que se va a cambiar.
Seleccione el control .
Cambie el modo del panel Propiedades a Eventos presionando el botón eventos (
).
Busque el evento al que desea agregar un controlador, por ejemplo, el evento Click :
Realice una de las acciones siguientes:
Haga doble clic en el evento para generar un nuevo controlador; está en blanco si no se asigna ningún controlador. Si no está en blanco, esta acción abre el código del formulario y navega al controlador existente.
Use el cuadro de selección (
) para elegir un controlador existente.
El cuadro de selección enumerará todos los métodos que tienen una firma de método compatible para el controlador de eventos.
Borrar el controlador
Para quitar un controlador de eventos, no puede eliminar solo el código del controlador que se encuentra en el archivo de código subyacente del formulario, el diseñador sigue haciendo referencia a él. Use el panel Propiedades para quitar el controlador de un evento:
Abra el Diseñador Visual del formulario que contiene el control que se va a cambiar.
Seleccione el control .
Cambie el modo del panel Propiedades a Eventos presionando el botón eventos (
).
Busque el evento que contiene el controlador que desea quitar, por ejemplo, el evento Click :
Haga clic con el botón derecho en el evento y elija Restablecer.
Controlar un evento en tiempo de ejecución
Normalmente, se agregan controladores de eventos a controles en tiempo de diseño a través del Diseñador visual. Sin embargo, puede crear controles en tiempo de ejecución, lo que requiere que agregue controladores de eventos en el código. Agregar controladores en el código también ofrece la posibilidad de agregar varios controladores al mismo evento.
Agregar un controlador
En el ejemplo siguiente se muestra cómo crear un control y agregar un controlador de eventos. Este control se crea en el controlador de eventos Button.Click
al manejar un botón diferente. Cuando se presiona Button1 . El código mueve y cambia el tamaño de un botón nuevo. El evento del botón nuevo Click
es gestionado por el método MyNewButton_Click
. Para que el nuevo botón se muestre, se añade a la colección del formulario Controls
. También hay código para quitar el Button1.Click
controlador del evento, que se describe en la sección Quitar el controlador .
private void button1_Click(object sender, EventArgs e)
{
// Create and add the button
Button myNewButton = new()
{
Location = new Point(10, 10),
Size = new Size(120, 25),
Text = "Do work"
};
// Handle the Click event for the new button
myNewButton.Click += MyNewButton_Click;
this.Controls.Add(myNewButton);
// Remove this button handler so the user cannot do this twice
button1.Click -= button1_Click;
}
private void MyNewButton_Click(object sender, EventArgs e)
{
}
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Create and add the button
Dim myNewButton As New Button() With {.Location = New Point(10, 10),
.Size = New Size(120, 25),
.Text = "Do work"}
'Handle the Click event for the new button
AddHandler myNewButton.Click, AddressOf MyNewButton_Click
Me.Controls.Add(myNewButton)
'Remove this button handler so the user cannot do this twice
RemoveHandler Button1.Click, AddressOf Button1_Click
End Sub
Private Sub MyNewButton_Click(sender As Object, e As EventArgs)
End Sub
Para ejecutar este código, haga lo siguiente en un formulario con el Diseñador visual de Visual Studio:
- Agregue un nuevo botón al formulario y asígnele el nombre Button1.
- Cambie el modo del panel Propiedades a Eventos presionando el botón de evento (
).
- Haga doble clic en el evento Click para generar un controlador. Esta acción abre la ventana de código y genera un método en blanco
Button1_Click
. - Reemplace el código del método con el código anterior.
Para obtener más información sobre los eventos de C#, vea Eventos (C#) Para obtener más información sobre los eventos de Visual Basic, vea Eventos (Visual Basic)
Quitar el controlador
La sección Agregar un controlador usó código para mostrar cómo agregar un controlador. Ese código también contenía una llamada para quitar un controlador:
button1.Click -= button1_Click;
RemoveHandler Button1.Click, AddressOf Button1_Click
Esta sintaxis se puede usar para quitar cualquier controlador de eventos de cualquier evento.
Para obtener más información sobre los eventos de C#, vea Eventos (C#) Para obtener más información sobre los eventos de Visual Basic, vea Eventos (Visual Basic)
Uso de varios eventos con el mismo controlador
Con el panel Propiedades del Diseñador visual de Visual Studio, puede seleccionar el mismo controlador que ya está en uso por otro evento. Siga las instrucciones de la sección Establecer el controlador para seleccionar un controlador existente en lugar de crear uno nuevo.
En C#, el manejador de eventos se adjunta al evento de un control en el código del diseñador del formulario, que se modifica a través del Diseñador visual. Para obtener más información sobre los eventos de C#, vea Eventos (C#)
Visual Basic
En Visual Basic, el controlador se adjunta al evento de un control en el archivo de código subyacente del formulario, donde se declara el código del controlador de eventos. Se pueden agregar varias Handles
palabras clave al código del controlador de eventos para usarla con varios eventos. El Diseñador visual generará la Handles
palabra clave automáticamente y la agregará al controlador de eventos. Sin embargo, puede hacerlo fácilmente para el evento de un control y su manejador de eventos, siempre y cuando la firma del método del manejador coincida con el evento. Para obtener más información sobre los eventos de Visual Basic, vea Eventos (Visual Basic)
Este código muestra cómo se puede usar el mismo método como controlador para dos eventos diferentes Button.Click
:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button2.Click
'Do some work to handle the events
End Sub
Consulte también
- Eventos de control
- Descripción general de eventos de
- Uso de eventos del mouse
- Uso de eventos de teclado
- System.Windows.Forms.Button
.NET Desktop feedback