2023. 2. 23. 09:00ㆍVB.NET/왕초보
VB6에서는 메시지박스 명령어가 MsgBox였는데 닷넷으로 넘어오면서 C#과의 동일성을 위해 MessageBox로 변경됐지만, 또 예전 VB6과의 호환성을 위해 MsgBox도 사용이 가능하다. 좋기는 한데 그덕에 좀 어설픈 혼종이 된것 같은 느낌적인 느낌이다.
메시지박스는 크게 세가지 신경써야 할 부분이 있다. 메시지박스도 하나의 윈도우이니 당연히 Title도 있고, 메시지박스의 특성상 사용자에게 보여줄 메시지도 있는건 당연한 얘기고, 이걸 상황별로 커스터마이징 하기 위해 버튼의 개수와 종류, 아이콘의 유무와 모양, 그리고 사용자의 반환값만 신경써주면 된다.
1. 버튼의 개수와 종류
버튼 1개 - 확인
버튼 2개 - 확인/취소, 예/아니오, 재시도/취소
버튼 3개 - 예/아니오/취소, 중단/다시시도/무시
2. 아이콘의 유무와 모양
아이콘은 없어도 되고, 상황을 정확히 전달하기 위해 넣어도 된다. 아이콘 종류는 정보, 경고, 오류, 물음표의 네개중 하나를 보통 사용한다.
버튼과 아이콘은 서로 독립적으로 표시되니 따로따로 차근차근 알아보자.
1. 기본 버튼에 아이콘도 없는 가장 기본적인 메시지박스
MessageBox.Show("메시지 내용", "메시지 제목")
기본 버튼을 설정하지 않으면 "확인" 버튼으로 나타난다.
2. 버튼 - MessageBoxButtons
OK = 0 ' 확인 (기본값)
OKCancel = 1 ' 확인/취소
AbortRetryIgnore = 2 ' 중지/재시도/무시
YesNoCancel = 3 ' 예/아니오/취소
YesNo = 4 ' 예/아니오
RetryCancel = 5 ' 재시도/취소
3. 아이콘 - MessageBoxIcon
None = 0 | Hand = 16 Stop = 16 Error = 16 |
Question = 32 | Exclamation = 48 Warning = 48 |
Asterisk = 64 Information = 64 |
4. 반환값 - DialogResult
None = 0 ' Nothing
OK = 1 ' 확인
Cancel = 2 ' 취소
Abort = 3 ' 중지
Retry = 4 ' 재시도
Ignore = 5 ' 무시
Yes = 6 ' 예
No = 7 ' 아니오
반환값은 버튼과 연관되며, 두개 이상의 버튼이 있는 메시지박스를 띄웠을 경우 사용자가 어느 버튼을 눌렀는지 확인해서 다음 작업을 수행해야 하니 반환값을 반드시 확인해야 한다. 최종적으로 위 버튼과 아이콘, 반환값을 모두 포함시켜서 메시지박스를 호출후 결과를 확인해보자.
Dim ret = MessageBox.Show("메시지 내용", "메시지 제목", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If ret = DialogResult.Yes Then
MsgBox("예")
Else
MsgBox("아니오")
End If
물음표 아이콘에, 예/아니오 버튼을 갖는 메시지박스를 띄운후 사용자가 선택한 버튼을 확인해서 알려주는 간단한 소스이다.
메시지박스는 윈폼앱을 개발할때 반드시 필요한 요소중 하나이니 이번 강좌를 통해 기능을 반드시 숙지하도록 하자.
'VB.NET > 왕초보' 카테고리의 다른 글
[VB.NET] 공통대화상자 - ColorDialog 사용법 (0) | 2023.02.24 |
---|---|
[VB.NET] 공통대화상자 - FolderBrowserDialog 사용법 (2) | 2023.02.24 |
[VB.NET] 공통대화상자 - SaveFileDialog 사용법 (0) | 2023.02.23 |
[VB.NET] 공통대화상자 - OpenFileDialog 사용법 (0) | 2023.02.23 |
[VB.NET] 기본 컨트롤 - Button (0) | 2023.02.22 |