https://foro.gambas-es.org/viewtopic.php?f=1&t=4722&p=27096#p27096
-----------------------------------
jguardon
Martes, 23 Junio 2015, 16:02

Re: Gestionar 2 Eventos
-----------------------------------
Puedes poner un flag (bandera) que indique que estás queriendo salir de la aplicación para que no se ejecute el evento lostfocus. Por ejemplo:

[code linenumbers=false syntax=gambas]' Declaramos una variable global booleana que será nuestro flag
Private bSaliendo as Boolean = False

Public Sub DCdni_LostFocus()

     Dim n As Integer, b As Boolean

     If bSaliendo Then    ' comprobamos si queremos salir o no
          Stop Event      ' si es que sí, paramos el evento
          Return          ' y salimos de la rutina
     Endif

     ' en caso contrario, se ejecutará el resto de la rutina normalmente

     If Len(DCdni.Value) <> 9 Then
          Message("Tiene que teclear un DNI adecuado (8 dígitos y una letra")
          DCdni.Value = ""
          DCdni.SetFocus
     Endif
     DCdni.Value = UCase$(DCdni.Value)
     If IsLetter(Right$(DCdni.Value, 1)) Then
          Return
     Endif
     For n = 1 To 8
          b = IsDigit(Mid$(DCdni.Value, n, 1))
          If b = False Then
               DCdni.SetFocus
          Endif
     Next
End

Public Sub BotonSalir_Click()
   bSaliendo = True    ' ponemos a true nuestro flag
   Me.Close()
End[/code]

Espero que sea de ayuda, no lo he probado, pero así debería funcionar.

Saludos


