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

Responder a