Si lo probé y estoy en la misma, Estuve investigando y la única diferencia entre el meto enter y gotfocus es que uno usa apis dd Windows y el otro no, y no recuerdo cual usa cual en este momento
Saludos Claudio Date: Fri, 14 Oct 2011 10:31:56 -0700 From: [email protected] Subject: [puntonet] Windows Form To: [email protected] Probaste usando el evento Enter, en vez de GotFocus? Saludos. De: Daniel Calvin <[email protected]> Para: [email protected] Enviado: viernes, 14 de octubre de 2011 13:50 Asunto: [puntonet] Windows Form Hola Claudio Estoy jugandon tu problema, mientras tanto te doy una sugenrencia. No mandes un mail a la lista sobre otro existente que no tiene que ver con tu problema, lo mas sano es que crees un nuevo hilo de mensajes con un asunto acorde. ( solo una sugerencia ) Si veo como salir de tu enredo te cuento. Daniel El 14 de octubre de 2011 13:12, Claudio Speroni <[email protected]> escribió: Estimados, estoy trabajando en VS 2008 y necesito hacer lo siguiente y no sé cómo resolverlos, por eso les pido ayuda Tengo un control Texbox que necesito que cada vez que haga foco en él se abra un formulario, esto lo hago de la siguiente manera Dentro de un control propio heredado de Windows.forms.textbox, en el método GotFocus abro un formulario (frmCaptura) Public Class tb Inherits System.Windows.Forms.TextBox Private Sub tb_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.GotFocus Dim frm As New frmCaptura Try frm.showdialog(Me) Catch ex As Exception Throw ex End Try End Sub End Class Hasta acá todo bien, el problema se me presenta cuando cierro el formulario frmCaptura y vuelve a tomar foco el Textbox ya que se vuelve a ejecutar el método GotFocus y abre nuevamente el formulario Probé creando una variable privada para saber si ya tomo foco alguna vez el TextBox poniéndola en true en el gotFocus y en False en el LostFocus, acá se me presenta otro problema, Cuando abro el formulario en el gotfocus, también se ejecuta el evento LostFocus ya que el control pierde foco y la variable se setea en false y con esto volvemos a empezar, cuando cierro el formulario se vuelve a ejecutar el método Gotfocus y abre nuevamente el formulario frmCaptura, Public Class tb Inherits System.Windows.Forms.TextBox Private blnYaAbrio As Boolean = False Private Sub tb_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.GotFocus Dim frm As New frmCaptura Try If Not blnYaAbrio Then blnYaAbrio = True frm.showdialog(Me) End If Catch ex As Exception Throw ex End Try End Sub Private Sub tb_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LostFocus Try blnYaAbrio = False Catch ex As Exception Throw ex End Try End Sub End Class Es decir estoy en un bucle y no sé cómo resolverlo Espero haber sido claro, cualquier cosa pregunten así me ayudan a resolver este problema Gracias de antemano Claudio -- Daniel A. Calvin Cooperator Team Member Microsoft Certified Professional
