Visual Basic .NET – Cancelar evento CheckedChanged de un CheckBox
Written by lopezatienza on 19/04/2010 – 12:34 -Hola a todos.
En este artículo voy a mostraros una forma de cancelar el evento CheckedChanged de un CheckBox, ya que el tipo EventArgs e no tiene e.Cancel, ni he encontrado una forma mejor de hacerlo.
Se trata de quitarle el manejador de evento CheckedChanged, para poder así cambiar el valor del tipo CheckBox sin que se produzca un bucle infinito, ya que si lo cambiamos en esta misma función se llamará indefinidamente y no tendrá fin.
Finalmente le establecemos de nuevo el manejador de evento.
Private Sub checkBox_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
If MessageBox.Show("¿Estás seguro?", "Mensaje de confirmación", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No Then
Dim cb As CheckBox = DirectCast(sender, CheckBox)
RemoveHandler cb.CheckedChanged, AddressOf checkBox_CheckedChanged
cb.Checked = Not cb.Checked
AddHandler cb.CheckedChanged, AddressOf checkBox_CheckedChanged
End If
End Sub
Un saludo y espero os sirva de ayuda.
Tags: Visual Basic
Posted in Visual Basic .NET | 3 Comments »
marzo 16th, 2012 at 13:05
Muchas gracias
marzo 16th, 2012 at 13:11
Un placer Cristina.
Un saludo!
noviembre 23rd, 2013 at 01:45
grcias me sirvio mucho, es una pavada que no suelte el handler de manera autonoma, en fin, a veces uno debe usar este lenguaje y encontrarse estas cosas.
Saludos