2016-09-12 98 views
1

我正在尋找幾天這個問題的答案。我有我的主要形式「frmAddContact」導航子窗體稱爲「NavigationSubform」。所有文本字段都具有發光效果,方法是在按鈕下方放置一個按鈕,並更改按鈕OnGotFocus和OnLostFocus事件的可見性。當我在主窗體中移動和移動到子窗體時,所有的工作都很好,但是當我從子窗體移動到主窗體時會出現問題 - 關注子窗體仍然存在,所以可以看到發光子表單和主表單。如何從導航子窗體中刪除文本框焦點

當我在主窗體中選擇文本框時,如何刪除焦點?

每個文本框有以下代碼:

Private Sub [TextBoxName]_GotFocus() 
Glow Me.[TextBoxName], Me.[ButtonName], True 
End Sub 

Private Sub [TextBoxName]_LostFocus() 
Glow Me.[TextBoxName], Me.[ButtonName], False 
End Sub 

夜光方法代碼坐在模塊:

Sub Glow(ctlText As Control, ctlShadow As Control, TurnOn As Boolean) 
If TurnOn = True Then 
    ctlText.BorderColor = RGB(102, 175, 233) 
    ctlShadow.Visible = True 
Else 
    ctlText.BorderColor = RGB(228, 228, 228) 
    ctlShadow.Visible = False 
End If 
End Sub 

兩個文本框輝光Here

回答

0

我認爲這個問題是子窗體本身並沒有真正失去焦點。您應該能夠通過從主窗體的Textbox GotFocus事件運行發光代碼來強制刪除發光。

這有點棘手,但請查看許多關於從窗體引用子窗體的在線資源。
This is a good one下手

規則是你基本上如果你這樣做時,文本框獲得焦點應該清除窗體指的主要形式,再子窗體,然後控制

控制的發光

Private Sub [TextBoxName]_GotFocus() 
    Glow Forms![frmAddContact]![NavigationSubform].Form.[TextBoxName], _ 
     Forms![frmAddContact]![NavigationSubform].Form.[ButtonName], False 
    Glow Me.[TextBoxName], Me.[ButtonName], True 
End Sub 
+0

謝謝dbmitch您的迴應。現在,我通過創建Sub RemoveGlow建立對此問題的解決方案: –