C#/WPF

[C# - WPF] MessageBox 아이콘 및 분기 총 정리

반나무 2022. 7. 2. 11:05

안녕하세요, 반나무입니다.

MessageBox사용중 어떤 버튼이 어떻게 생겼고, 사용 방법도 오랜만에 쓰니까 기억이 잘안나서 글을 써봅니다.

 

기본 메세지 박스

using System.Windows;

MessageBox.Show("메세지 박스");


아이콘이 있는 확인 메세지 박스

아이콘의 그림이 다양하기 때문에 전부 확인해 봤습니다.

using System.Windows

MessageBox.Show("메세지 박스, "타이틀", MessageBoxButton.OK, MessageBoxImage.Information);

대부분의 아이콘이 비슷한것으로 확인되었으며 Error, Infomation, Waring, Question 정도만 사용하면 되겠네요

 


다양한 선택지의 메세지 박스

메세지 박스에는 굉장히 다양한 Show메서드가 있습니다.

그 중 다양한 선택지의 메세지 박스를 확인해 보겠습니다.

MessageBox.Show("메세지 박스 : OK", "OK", MessageBoxButton.OK);

 

하지만 MessageBox만 작성하면 해당 MessageBox내부의 버튼들이 아무일도 하지 않습니다.

각 버튼들은 MessageBoxResult를 반환하며, 그 값을 조건문을 통해 처리 할 수 있습니다.

 

다음은 switch문을 통해 Result를 판단해 원하는 처리를 진행한 예제입니다.

// Setting저장 여부 확인
MessageBoxResult messageBoxResult = MessageBox.Show("저장하고 나가시겠습니까?", "저장", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);
switch (messageBoxResult)
{
    case MessageBoxResult.Yes:
        XmlParser.DataSaveXml();
        PagePath = "/Views/MainPage.xaml";

        break;
    case MessageBoxResult.No:
        XmlParser.DataLoadXml();
        PagePath = "/Views/MainPage.xaml";

        break;
    case MessageBoxResult.Cancel:
        break;
}

 

반응형