Вывести окно вперед, откуда?
MDI
В MDI с несколькими формами будет достаточно form.BringToFront()
, это переместит форму сверху в вашем приложении.
Вы также можете использовать метод form.ShowDialog()
при отображении предупреждения / ошибки.
Desktop
На вашем рабочем столе может быть несколько приложений, лучше перейдите к настройке приложения в качестве TopMost.
Если ваше приложение находится за другими окнами, предупреждающее сообщение может не отображаться.
Чтобы вывести application
на передний план, вам потребуется дополнительная работа, это «расширения» класса «form», поэтому использование будет: form.MakeTopMost()
:
<Runtime.InteropServices.DllImport("user32.dll", SetLastError:=True)> _
Private Function SetWindowPos(ByVal hWnd As IntPtr, ByVal hWndInsertAfter As IntPtr, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal uFlags As Integer) As Boolean
End Function
Private ReadOnly HWND_TOPMOST As New IntPtr(-1)
Private ReadOnly HWND_NOTOPMOST As New IntPtr(-2)
<System.Runtime.CompilerServices.Extension()> _
Public Sub MakeTopMost(frm As Form)
SetWindowPos(frm.Handle(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Sub
<System.Runtime.CompilerServices.Extension()> _
Public Sub MakeNormal(frm As Form)
SetWindowPos(frm.Handle(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
End Sub
как всегда, код расширения должен быть в отдельном модуле.