Pido disculpas por el asunto del envió, lo que paso fue que reenvié un Mail y no cambie el asunto ya que primero me dedique a hacer lo mas entendible el cuerpo de problemas
Saludos Claudio Date: Fri, 14 Oct 2011 13:50:06 -0300 Subject: [puntonet] Windows Form From: [email protected] To: [email protected] 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
