본문 바로가기
Program Language/C#(GUI)

[C# WinForm] 다양한 메시지 박스 생성하기

by 토담이아빠 2023. 2. 6.

다양한 메시지 박스 생성하기

 

이번 포스팅에서는 다양한 메시지 박스를 생성하는 방법에 대해서 알아보겠습니다.


폼 디자인 하기

 

Form1.cs[디자인] 화면에서  버튼 5개를 배치하고 각 컨트롤의 Text 속성을 아래와 같이 입력합니다.

 

  • Form1 : 메시지 박스 출력하기
  • button1 : 기본 메시지 박스
  • button2 : 타이틀 메시지 박스
  • button3 : 알람 메시지 박스
  • button4 : 예/아니오 버튼 메시지 박스
  • button5 : 예/아니오/취소 버튼 메시지 박스

※ 버튼을 배치하고 속성값을 입력하는 방법은 아래 포스팅을 참고하세요


2023.02.03 - [프로그래밍/C#(GUI)] - [C# WinForm] GUI 프로그래밍 시작하기

 

[C# WinForm] GUI 프로그래밍 시작하기

C# 장점은 누가 뭐라 해도 GUI(Graphical User Interface)를 사용하는 윈도우 프로그래밍입니다. C#에는 2가지 GUI 템플릿이 있습니다. 하나는 WinForm이고 다른 하나는 WPF입니다. 앞으로의 포스팅 내용은 WinF

todamfather.tistory.com


디자인된 폼은 아래와 같습니다.


폼 디자인 화면


각각의 버튼을 더블클릭하면 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
    }

실행 후 기본 메시지 박스 버튼을 누르면 아래와 같이 기본 메시지 박스가 생성되어 출력됩니다.


기본 메시지 박스 출력


나머지 버튼들을 눌렀을 때 메시지 박스는 다음과 같이 나타납니다.


각 버튼 클릭 시 나타나는 메시지 박스

 


 

 

댓글