공유/기타
[C#] MessageBox, WinForm 최상단으로 띄우기
구하천포
2021. 8. 30. 07:27
[C#] MessageBox, WinForm 최상단으로 띄우기
C# WinForm을 개발하다 보면 MessageBox를 사용하는 경우가 많이 있다. MessageBox의 경우 사용자에게 메시지를 보여주기 위해 띄워주는 용도로 사용하는 경우가 많다. 그러나 해당 MessageBox가 다른 Form 뒤에 표시되면 사용자가 해당 메시지를 볼 수 없다. MessageBox를 제일 위로 표시할 방법을 알아보도록 하자.
방법 1
MessageBox를 WinForm 제일 위로 올리는 방법은 쉽다. 아래 코드를 참고해보자.
MessageBox.Show(new Form { TopMost = true }, "메시지 박스입니다.", "Update", MessageBoxButtons.OK, MessageBoxIcon.Information);
TopMost 속성값을 true로 주면 간단히 해결된다.
그러나 위 방법으로는 WinForm에서 제일 위에 표시되는 것이지 모든 창 위에 표시되는 것은 아니다. 예를 들어 인터넷을 사용하고 있다고 하자. 그럼 인터넷 창 뒤에 해당 MessageBox가 표시되어 볼 수 없을 것이다. 이러한 경우는 어떻게 해결할 수 있을까? 아래 방법 2를 확인해보자.
방법 2
방법 1의 코드를 아래처럼 수정해보자.
MessageBox.Show("메시지 박스입니다.", "Update", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
위 코드처럼 작성하면 내가 보고 있는 모든 창 위에 표시되는 것을 확인할 수 있다.
마지막
해당 내용은 틀릴 수도 있다는 것을 감안하여 봐주세요. 틀린 내용 및 오탈자 수정 요청 환영입니다.
반응형