메시지 상자가 포커스를 잃어 버린 경우에도 위에 머물러있는 기본 메시지 상자 (MessageBox.Show()
) TopMost를 만드는 방법은 무엇입니까? 맞춤 설정을 만들고 싶지 않습니다. SetWindowHook 또는 비슷한 것을 사용하여 방법이 있습니까? 나는 이미 많은 연구를했지만 발견 한 모든 해결책이 효과가 없었습니다. 누군가 VB.net 또는 C#에서이 작업을 수행하는 방법을 알려 줄 수 있습니까?MessageBox Top 가장 사실
-1
A
답변
1
가장 간단한 방법은 MessageBox
함수를 호출하고 MB_SYSTEMMODAL
플래그를 전달하는 것입니다.
0
알겠습니다. 이것은 열려있는 모든 창 상단에 메시지 상자가 표시되며, Topmost 옵션이 있는지 여부와 상관없이 메시지 상자가 항상 앞에 표시됩니다.
Public Enum MessageBoxResult As UInteger
Ok = 1
Cancel
Abort
Retry
Ignore
Yes
No
Close
Help
TryAgain
ContinueOn
Timeout = 32000
End Enum
Public Enum MessageBoxOptions As UInteger
SystemModal = &H1000
NoFocus = &H8000
SetForeground = &H10000
Topmost = &H40000
End Enum
<DllImport("user32.dll", EntryPoint:="MessageBoxW", SetLastError:=True, Charset:=CharSet.Unicode)> _
Public Shared Function MessageBox(hwnd As IntPtr, _
<MarshalAs(UnmanagedType.LPTStr)> lpText As String, _
<MarshalAs(UnmanagedType.LPTStr)> lpCaption As String, _
<MarshalAs(UnmanagedType.U4)> uType As MessageBoxOptions) As <MarshalAs(UnmanagedType.U4)> MessageBoxResult
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MessageBox(IntPtr.Zero, TextBox2.Text, TextBox1.Text, MessageBoxButtons.OK Or MessageBoxOptions.SystemModal + MessageBoxOptions.Topmost + MessageBoxOptions.SetForeground + MessageBoxIcon.Information)
End Sub
End Class
관련 문제
- 1. MessageBox
- 2. 사실
- 3. 사실
- 4. 사실
- 5. = 사실
- 6. WPF : Windows MessageBox 대신 Custom MessageBox 생성
- 7. 사실 = 사실 * c ?? 어떻게 작동합니까?
- 8. MessageBox 단추
- 9. RetryCancel MessageBox
- 10. ViewModel의 MessageBox
- 11. MessageBox 내부 스레드 호출
- 12. 코드를 중지하지 않는 MessageBox 만들기?
- 13. CORS = 사실
- 14. 레일 : 사실
- 15. Ember.js = 사실
- 16. 문제는 사실
- 17. Ansible 사실
- 18. AUTOACK = 사실
- 19. 자식은 사실
- 20. 안드로이드 - 사실
- 21. MDX TOP 1 - CUBE에서 TOP 1을 반환하십시오.
- 22. SQL Server의 TOP 2보다 TOP 2가 빠릅니까?
- 23. 타임 아웃이있는 MessageBox 또는 다른 스레드에서 MessageBox 닫기
- 24. MessageBox 서버 측을 사용할 때 MessageBox 관련 오류가 발생하지 않습니다.
- 25. 합금 관계 사실
- 26. iOS의 Safari 'Top Sites'스타일
- 27. Calibur.Micro의 Exception/MessageBox
- 28. Selenium에서 시간 초과가있는 MessageBox
- 29. Winforms의 모양 MessageBox
- 30. MessageBox in C#
그게 전부입니다. 나는 이것을 지금 보게 될 것이다. : ^) – nexno
상수 MB_TOPMOST가 있습니다 : http://msdn.microsoft.com/en-us/library/windows/desktop/ms645505%28v=vs.85%29.aspx – prq
@prq 나는' 일부 최신 Windows 버전에서는 MB_TOPMOST가 무시됩니다. 어쨌든'MB_SYSTEMMODAL'은 확실히 작동합니다. –