본문으로 바로가기

[C#] MessageBox, WinForm 최상단으로 띄우기

category 공유/기타 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);

위 코드처럼 작성하면 내가 보고 있는 모든 창 위에 표시되는 것을 확인할 수 있다.

마지막

해당 내용은 틀릴 수도 있다는 것을 감안하여 봐주세요. 틀린 내용 및 오탈자 수정 요청 환영입니다.

반응형