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