이번 포스팅에서는 다양한 메시지 박스를 생성하는 방법에 대해서 알아보겠습니다.
폼 디자인 하기
Form1.cs[디자인] 화면에서 버튼 5개를 배치하고 각 컨트롤의 Text 속성을 아래와 같이 입력합니다.
- Form1 : 메시지 박스 출력하기
- button1 : 기본 메시지 박스
- button2 : 타이틀 메시지 박스
- button3 : 알람 메시지 박스
- button4 : 예/아니오 버튼 메시지 박스
- button5 : 예/아니오/취소 버튼 메시지 박스
※ 버튼을 배치하고 속성값을 입력하는 방법은 아래 포스팅을 참고하세요
2023.02.03 - [프로그래밍/C#(GUI)] - [C# WinForm] GUI 프로그래밍 시작하기
디자인된 폼은 아래와 같습니다.
각각의 버튼을 더블클릭하면 Form1.cs 파일에 이벤트 함수들이 생성됩니다. 각 함수의 내용을 아래와 같이 작성합니다.
<파일명 : Form1.cs>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WinFormExam
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("기본 메시지 박스입니다.");
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("타이틀이 있는 메시지 박스입니다.", "타이틀 메시지 박스");
}
private void button3_Click(object sender, EventArgs e)
{
MessageBox.Show("알람 메시지 박스입니다.", "경고!!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
private void button4_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("계속 진행하시겠습니까?", "인스톨",
MessageBoxButtons.YesNo );
if (result == DialogResult.Yes)
{
MessageBox.Show("설치를 계속 진행합니다.");
}
else
{
MessageBox.Show("설치를 취소했습니다.");
}
}
private void button5_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("C# 코딩은 재미있나요?", "코딩 적성 테스트",
MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if(result == DialogResult.Yes)
{
MessageBox.Show("'예'를 선택하셨습니다.");
}
else if(result == DialogResult.No)
{
MessageBox.Show("'No'라고 선택하셨습니다.");
}
else
{
MessageBox.Show("질문을 취소했습니다.");
}
}
}
}
메시지 박스는 아래와 같이 8가지 enum 값을 반환합니다. 위 예제에서는 실제로 MessageBox가 반환하는 값은 Yes, No, Cancel입니다.
public enum DialogResult
{
None,
OK,
Cancel,
Abort,
Retry,
Ignore,
Yes,
No
}
실행 후 기본 메시지 박스 버튼을 누르면 아래와 같이 기본 메시지 박스가 생성되어 출력됩니다.
나머지 버튼들을 눌렀을 때 메시지 박스는 다음과 같이 나타납니다.
'Program Language > C#(GUI)' 카테고리의 다른 글
[C# Winform] 로그인 창 만들기 (9) | 2023.03.09 |
---|---|
[C# WinForm] RadioButton 사용하기 (11) | 2023.03.03 |
[C# WinForm] CheckBox 사용하기 (11) | 2023.02.20 |
[C# WinForm] TextBox / Label / Button Control (16) | 2023.02.14 |
[C# WinForm] GUI 프로그래밍 시작하기 (6) | 2023.02.03 |
댓글