MessageBox 정의와 특성
윈폼에서 메시지 박스는 사용자에게 메시지(Message)를 보여주고 싶을 때 사용합니다.
또한 MessageBox는 현재 활성화된 창이 아닌 새로운 창을 하나 띄워서 보여주는 특성을 갖습니다.
주의하실점은 메세지 박스는 Modal 창이라는 것입니다.
Modal(모달)은 해당 컨트롤러를 닫기 전까지 다른 컨트롤러들을 사용할 수 없게 하는 특성이 있습니다.
위의 캡처 이미지와 같이 메시지 박스가 열린 상황에서
사용자가 해당 메세지 박스를 닫지 않고, 뒤의 Form1 화면을 클릭 하는 것은 불가능 합니다.
그 이유는 메시지 박스가 Modal(모달)이기 때문에, 해당 창을 닫지 않고 다른 컨트롤러를 선택할 수 없게 하기 때문입니다.
MessageBox 사용방법
1. 메시지만 출력
메시지 박스를 출력하기 위한 최소한의 파라미터만인 메시지만을 입력하여 메세지 박스를 표출할 수 있습니다.
MessageBox.Show("출력할 메시지")
using System;
using System.Windows.Forms;
namespace MessageBoxEx
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("이것은 메시지 박스 입니다.");
}
}
}
2. 메시지와 캡션 출력
메시지만 있으면 허전하지 않나요? 캡션도 출력해 줄 수 있습니다.
MessageBox.Show("출력할 메시지", "캡션명")
using System;
using System.Windows.Forms;
namespace MessageBoxEx
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("이것은 메시지 박스 입니다.", "여기는 캡션자리");
}
}
}
3. 메시지, 캡션, 버튼종류 출력
메세지 박스가 표출되었을 때, 사용자가 누를 수 있는 버튼의 종류도 선택할 수 있습니다.
MessageBox.Show("출력할 메시지", "캡션명", 버튼옵션(MessageBoxButtons))
using System;
using System.Windows.Forms;
namespace MessageBoxEx
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("이것은 메시지 박스 입니다.", "여기는 캡션자리", MessageBoxButtons.YesNo);
}
}
}
MessageBoxButtons에서 선택할 수 있는 버튼의 종류는 5가지가 있으니, 상황에 맞게 사용하시기 바랍니다.
선택할 수 있는 종류는 아래와 같습니다.
- 1. MessageBoxButtons.OK : [확인] 버튼만 출력 됩니다.(버튼을 따로 지정하지 않았을 때 나오는 Default 값 입니다).
- 2. MessageBoxButtons.OKCancel: [확인] 버튼과 [취소]버튼이 출력됩니다.
- 3. MessageBoxButtons.YesNo : [예(Y)] 버튼과 [아니요(N)] 버튼이 출력됩니다.
- 4. MessageBoxButtons.YesNoCancel : [예(Y)] 버튼과 [아니요(N)]버튼 그리고 [취소] 버튼이 출력됩니다.
- 5. MessageBoxButtons.RetryCancel : [다시 시도(R)] 버튼과 [취소] 버튼이 출력됩니다.
4. 메시지, 캡션, 버튼종류, 아이콘종류 출력
메세지 박스가 표출 될 때, 메세지 옆에 아이콘을 선택하여 표출할 수 있습니다.
MessageBox.Show("출력할 메시지", "캡션명", 버튼옵션(MessageBoxButtons), 아이콘옵션(MessageBoxIcon))
using System;
using System.Windows.Forms;
namespace MessageBoxEx
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("이것은 메시지 박스 입니다.", "여기는 캡션자리", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
MessageBoxIcon의 종류는 총 9가지 이지만, 같은 모양을 갖고 있는 옵션들이 있기 때문에 5가지로 봐야 할 것 입니다.
각각 아이콘 모양은 아래와 같으니 참조하여 적재적소에 사용하시기 바랍니다.
- 1. MessageBoxIcon.None : 아무 아이콘도 표시하지 않습니다. Default 값입니다.
- 2. MessageBoxIcon.Question: 물음표 모양의 아이콘 입니다.
- 3. MessageBoxIcon.Error : 에러 관련 메시지에 함께 표출하면 어울리는 아이콘 입니다.
- 4. MessageBoxIcon.Hand: Error와 동일한 모양의 아이콘입니다.
- 5. MessageBoxIcon.Stop: Error, Hand와 동일한 모양의 아이콘입니다.
- 6. MessageBoxIcon.Information : 사용자에게 정보를 제공할 때 표출하면 어울리는 아이콘 입니다.
- 7. MessageBoxIcon.Asterisk: Information과 동일한 모양의 아이콘입니다.
- 8. MessageBoxIcon.Exclamation : 노란색 삼각형에 느낌표가 있는 아이콘으로 주의 정도의 느낌을 줍니다.
- 9. MessageBoxIcon.Warning : Exclamation와 동일한 모양의 아이콘입니다.
MessageBox 정리
메세지 박스는 사용자에게 메세지를 통해 정보를 알려주거나,
[예 아니오] 등 사용자의 의사를 알 수 있게도 해줍니다.
MessageBoxIcon을 통해서 아이콘을 배치하여 MessageBox를 꾸미고,
다양한 MessageBoxButtons의 옵션을 통해 구현하고자 하는 상황에 맞는 버튼을 배치함으로써
사용자와 대화하는 듯한 프로그램을 만들 수 있을 것입니다.
이외의 메세지 박스의 기능에 대한 더욱 자세한 내용은 아래 링크를 눌러서 확인해보세요.
Microsoft MessageBox Class 페이지: https://learn.microsoft.com/ko-kr/dotnet/api/system.windows.forms.messagebox?view=windowsdesktop-7.0
'IT프로그래밍 > C Sharp' 카테고리의 다른 글
[C#]Visual Studio에서 "Hello, C#" 출력하기 (0) | 2024.05.30 |
---|---|
C#에서 MSSQL에 접속하기 위한 Connection String 설정 방법 (0) | 2023.06.28 |
[C#]Timer를 사용하여 윈폼에서 시계 만들기(소스코드와 설명) (0) | 2023.06.27 |
[C#] 크로스 스레드 작업이 잘못되었습니다. 바로 해결하기!!! (2) | 2022.03.01 |
[C#]10분만에 rest api server 만들기 / rest api server example (11) | 2022.03.01 |
댓글