티스토리 뷰

C#/C# 강좌 Winform

Doridori C# 강의) 5.Enum(열거형)

꼬꼬마도리도리 2018. 6. 2. 16:50

======================================================

안녕하세요 Doridori 입니다. 


이번강의는 Enum에 대해서 강의 하도록 하겠습니다. 


제가 이 다음 강의 까지는 예전에 만들어 놓았던 자료들을 참고 해서 다시 만들고 있는데요 

(마이크 음질이 너무 안좋아서 콘덴서 마이크로 바꾸고 다시 녹화를 하고 있습니다.)


이번강의를 녹화하고 저장하는데 에러가 나서 다 날려 버렸습니다. (ㅠ.ㅠ)


강의를 다시 녹화 하려고 하니 기존 강의와 크게 다른점이 없어서 이번에만 기존 강의를 올리도록 하겠습니다. m(_._)m

======================================================


연산자


Source UI) Study_5_Enum(UI).zip

Soruce 전체) Study_5_Enum.zip

교재) 5강 Enum.pdf

열거형의 경우 문자로 정의해서 사용할 경우 사용 할때마다 오타가 날 확률도 있고 같은 종류의 목록을 지정할 때 정의 해 놓을 경우 불러서 사용 하기 편하기 때문에 자주 사용하게 됩니다. 


뒤에 강의 할 내용이긴하지만 Visual Studio에서는 Switch 문을 사용 할 경우 열거형을 불러와서 자동완성 시켜주기 때문에 열거형을 정의 해 둘 경우 쉽게 사용할 수 있습니다.



간단하게 ListBox에 들어가는 항목들을 열거형으로 정의 해 놓고 사용하는 예제 입니다. 


선택 한뒤에 Button을 Click 해서 선택 한 내용을 사용해서 화면 하단에 문장으로 표시해 주게 하였습니다. 


UI)



소스 Code 및 내용)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
        /// <summary>
        /// 프로그램의 진입점 입니다.
        /// </summary>
        public Form1()
        {
            InitializeComponent();
        }
 
        /// <summary>
        /// EnumDay 를 정의 합니다.
        /// </summary>
        enum enumDay
        {
            Monday = 1,   // Enum 값에 숫자 태그를 정의 할 수 있습니다.
            Tuesday,      // 정의 하지 않을 경우 위의 정의된 태그의 다음 No가 자동으로 부여 됩니다.
 
            Wednesday = 10,   // 10번으로 정의 했을 경우
            Thusday,          // 다음 No는 11번으로 자동 부여 됩니다.
            Friday,
            Saturday,
            Sunday,
        }
 
        /// <summary>
        /// EnumTime 를 정의 합니다.
        /// </summary>
        enum enumTime
        {
            Morning,
            Afternoon,
            Evening,
        }
 
        /// <summary>
        /// 프로그램 실행 시 Form이 Load 될때 발생 합니다. 
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Load(object sender, EventArgs e)
        {
            // lboxDay에 정의 한 EnumDay 값을 하나 씩 넣어 줍니다.
            lboxDay.Items.Add(enumDay.Monday);
            lboxDay.Items.Add(enumDay.Tuesday);
            lboxDay.Items.Add(enumDay.Wednesday);
            lboxDay.Items.Add(enumDay.Thusday);
            lboxDay.Items.Add(enumDay.Friday);
            lboxDay.Items.Add(enumDay.Saturday);
            lboxDay.Items.Add(enumDay.Sunday);
 
            // lboxTime에 정의 한 EnumTime 값을 하나 씩 넣어 줍니다.
            lboxTime.Items.Add(enumTime.Morning);
            lboxTime.Items.Add(enumTime.Afternoon);
            lboxTime.Items.Add(enumTime.Evening);
        }
 
 
        /// <summary>
        /// 화면에서 "결과보기" Button을 Click 했을 때 Event를 발생 시킵니다.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnResult_Click(object sender, EventArgs e)
        {
            // [준호]와 [Monday](요일) [Morning]에 만나기로 했습니다.
 
            // 문자열들을 + 로 더해서 하나의 문자열로 표현 합니다.
            string strResult = tboxName.Text + "와 " + lboxDay.SelectedItem.ToString() + "(요일) " + lboxTime.SelectedItem.ToString() + "에 만나기로 했습니다."
 
            tboxResult.Text = strResult;
        }
 
        /// <summary>
        /// 화면에서 "String Format Test" Button을 Click 했을 때 Event를 발생 시킵니다.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnResultStringFormat_Click(object sender, EventArgs e)
        {
            // String.Format를 사용 하여 문자열 안에 변수를 정의 할 수 있는 부분을 작성 하고({0}, {1}) 뒤에 값들을 할당 하여 문자열 전체를 표현 합니다.
            string strResult = String.Format("{0}와 {1}(요일) {2}에 만나기로 했습니다.", tboxName.Text, lboxDay.SelectedItem.ToString(), lboxTime.SelectedItem.ToString());
 
            tboxResult.Text = strResult;
        }
cs


위에도 적었지만 예전에 정리해 두었던 내용으로 강의를 다시 녹화 하고 있는데 강의 완료 후 저장하는 시점에 저장이 제대로 되지 않아 다 지워 졌습니다. ㅜㅠ


이전 강의가 있기도 하고 내용이 크게 차이나지 않아 올립니다. (이어셋으로 녹음 한 것이라서 소리가 조금 작습니다.)


새로 녹음 하길 원하시는 분이 계시만 새로 녹음 하도록 하겠습니다. ^^ (아직 보시는 분이 아무도 없어서. . . ㅠㅠ(또르륵. . .))


강의)


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함