오늘은 윈도우 앱에서 메시지 박스 사용법을 알아보겠습니다.
MessageBox는 Show라는 메서드를 갖고 있는데 이는 사용자에게 메시지를 보여주는 데 사용되며, 다양한 매개변수를 통해 메시지 박스의 모양과 기능을 조정할 수 있습니다.
이때 메시지 박스에 다양한 버튼을 생성할 수 있고 그 버튼에 맞게 프로그램이 동작하게 개발할 수도 있습니다.
메시지 박스에는 다양한 속성들이 있습니다.
먼저 메시지 박스는 Show 메서드의 매개변수들을 사용해 원하는 값들을 표현할 수 있고 거기에는 message, caption, buttons, icon, defaultButton, options등이 있습니다.
message : 사용자에게 보여줄 메시지를 입력하는 매개변수입니다.
caption : 사용자에게 보여줄 메시지박스의 제목을 입력하는 매개변수입니다.
buttons : 사용자에게 보여줄 버튼들을 정하는 매개변수로 OK(확인), OKCancel(확인, 취소), AbortRetryIgnore(중단, 재시도, 무시), YesNoCancel(예, 아니요, 취소), YesNo(예, 아니요), RetryCancel(재시도, 취소) 이 있습니다.
icon : 사용자에게 메시지와 함께 메시지의 내용을 함축적으로 표시할 수 있는 아이콘을 정하는 매개변수로 None(아이콘 없음), Error/Stop/Hand(빨간색 X), Question(질문성 물음표), Exclamation/Warning(느낌표), Information/Asterisk(정보성 물음표)
defaultButton : 기본적으로 포커스를 줄 버튼을 지정할 수 있는 매개변수로 Button1, Button2, Button3가 있습니다.
options : DefaultDesktopOnly(모달리스로 서비스에서 주로 사용), RightAlign(메시지 텍스트를 텍스트 박스 오른쪽 정렬), RtlReading(오른쪽에서 왼쪽으로 읽는 문화권에서 사용하는 옵션), ServiceNotification(메시지박스가 포그라운드 및 최상위로 표시되게 한다.)
다음은 메시지 박스 사용법입니다.
기본 메시지 박스
MessageBox.Show("이것은 기본 메시지 박스입니다.");
제목이 있는 메시지 박스
MessageBox.Show("메시지를 확인해 주세요.", "알림");
버튼 옵션을 포함한 메시지 박스
MessageBox.Show("변경 사항을 저장하시겠습니까?", "저장 확인", MessageBoxButtons.YesNoCancel);
아이콘과 버튼 옵션이 있는 메시지 박스
MessageBox.Show("파일을 찾을 수 없습니다.", "에러", MessageBoxButtons.OK, MessageBoxIcon.Error);
기본 버튼을 지정한 메시지 박스
MessageBox.Show("계속 진행하시겠습니까?", "진행 확인", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
각 버튼 입력에 대한 사용자 지정 기능
- MessageBox.Show는 DialogResult를 반환하고 그 객체를 사용해 각 버튼 입력에 대한 기능을 구현할 수 있습니다.
DialogResult result = MessageBox.Show("프로그램을 종료하시겠습니까?", "종료 확인", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (result == DialogResult.Yes)
{
// 사용자가 '예'를 클릭한 경우 앱 종료
Application.Exit();
}
이 기능을 이전 예제에 활용해보겠습니다.
https://stickode.tistory.com/1132
사용자가 숫자를 입력하지 않고 = 버튼을 눌렀을 때 경고를 주는 메시지박스를 띄워보겠습니다.
// = 버튼 클릭 메소드
private void EquallBtn_Click(object sender, EventArgs e)
{
double result = 0;
if (num1 != null && num2 != null)
{
switch (lastOperation)
{
case '+':
result = double.Parse(num1) + double.Parse(num2);
break;
case '-':
result = double.Parse(num1) - double.Parse(num2);
break;
case '*':
result = double.Parse(num1) * double.Parse(num2);
break;
case '/':
result = double.Parse(num1) / double.Parse(num2);
break;
}
}
else // 사용자가 입력을 하지 않고 = 버튼을 클릭했을 경우
{
MessageBox.Show("숫자와 연산자를 입력해주세요.", "알림"); // 메시지박스 띄우기
}
num1 = textBox1.Text = result.ToString();
num2 = null;
num1turn = true;
textBox1.Focus();
}
감사합니다!!!
'C#' 카테고리의 다른 글
[C#][.NET] Property Window 사용법 (2) | 2024.04.21 |
---|---|
[C#][.NET] 이미지 뷰어 (0) | 2024.04.12 |
[C#][.NET] 윈도우 앱 포커스 (0) | 2024.03.25 |
[C#][.NET Core] 윈도우 계산기 앱 만들기 (0) | 2024.03.15 |
[C#][.NET Core] 윈도우 앱 개발환경 세팅 및 테스트 (2) | 2024.03.06 |