我想做一个控件里面有一个TEXTBOX控件,一个窗体。想在TEXTBOX获得焦点时显示窗体,失去焦点时UNLOAD 窗体可。在TEXTBOX的GETFOCUS() LOSTFOCUS()事件加入代码后出现了死循环,不知怎样解决请高手帮忙。Dim frmshow As Boolean
Dim a As frmLISTPrivate Sub TXTsearch_GotFocus()
 Set a = New frmLIST
a.Show
END SUB
Private Sub TXTsearch_LostFocus()
    Unload a
Set a = Nothing
END SUB

解决方案 »

  1.   

    Private Sub TXTsearch_GotFocus()
     Set a = New frmLIST
    a.Show
    END SUB应该是这里吧,窗体起动后TXTsearch自动获得焦点,执行a.Show.进入循环.
      

  2.   

    呵呵,当然死循环啦
    你GetFocus打开窗体,则会触发Text的LostFocus,在其中Unload掉FOrm后,回到控件Text又获取焦点,又打开窗体...如此反复原因在于你不该在GetFocus/LostFocus中处理,换种方式处理难道不行吗?!
      

  3.   

    '改为如下,只需要在GotFocus中写脚本,LostFocus的脚本全部删掉
    Private Sub TXTsearch_GotFocus()If Not (a Is Nothing) Then
        Set a = Nothing
        Exit Sub
    End If
     Set a = New Form2
    a.ShowExit sub