我有一個在系統托盤中運行的應用程序,當用戶按下梳妝按鈕時,它顯示一個WinForm以填寫併發送電子郵件。一切正常,但顯示WinForm時的部分。它顯示在頂部,焦點似乎在文本框中,但窗口不活動。將焦點設置爲新的彈出窗口
用於調用Popup表單的代碼。在彈出的形式
Private Sub frmPopup_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Activate()
BringToFront()
End Sub
Private Sub frmPopup_Load(sender As Object, e As EventArgs) Handles Me.Load
TextBoxName.Focus()
End Sub
真正踢在褲子上
My.Forms.frmpopup.ShowDialog()
代碼是這個,只要用戶沒有目前主要集中在Internet Explorer窗口的工作。如果我找到解決方案,我會發布它。
它似乎將兩個Subs合併成一個子組修復問題,我會繼續測試。
私人小組frmPopup_Shown(發送者爲對象,E作爲EventArgs的)把手 Me.Shown 激活() BringToFront() TextBoxName.Focus()結束小組
'的ShowDialog()'節目帶來窗體頂部並激活它,這是一個奇怪的問題。 –
你試過Me.TopMost = True嗎? – varocarbas
是的,winform會顯示,I符號會在文本框中閃爍,但活動焦點和鍵盤輸入將位於彈出窗口下方的窗口中。 – Landmine