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 > > >
