Если щелкнуть левой кнопкой мыши приложение, свернутое в системном трее и отображающее окно сообщений, диалоговое окно будет не в фокусе при первом отображении, в то время как во второй раз оно будет в фокусе.
Google, кажется, говорит, что решение состоит в том, чтобы настроить диалог с параметром MB_TOPMOST, но объект .Net MessageBox, похоже, не поддерживает этот параметр.
Итак, я попробовал следующее с не-.Net MsgBox, но это не решает проблему:
Public Class Form1
Private Sub LeftClick(sender As Object, e As EventArgs) Handles NotifyIcon1.Click
'Work-around to prevent Windows from triggering Click then right-click
Dim MyButton As System.Windows.Forms.MouseEventArgs = e
If MyButton.Button = MouseButtons.Left Then
'MessageBox apparently unable to handle MB_TOPMOST
'MessageBox.Show(Str, "Output", ???? )
'Doesn't work
Const MB_TOPMOST As Integer = &H40000
MsgBox("Hello there", MsgBoxStyle.OkOnly Or MB_TOPMOST, "Out of focus")
End If
End Sub
End Class
Кто-нибудь нашел обходной путь?
Спасибо.
Declare
или аналогичные. - person Neolisk   schedule 18.12.2013