본문 바로가기
Study/C#(Window programming)

C# 시계만들기

by Answer Choi 2015. 7. 24.
반응형

C# 시계예제



이번 예제는 간단히 시계를 만드는 예제입니다.


타이머를 이용하여 현재시간을 가져오면 간단히 구현할 수 있습니다.


먼저 바뀐 레이아웃입니다.



표시한 부분에 시간을 표시 할 겁니다.


그리고 아래 리스트 뷰에 기록한 시간도 함께 띄우도록 할께요.


저번에 구현한 타이머는 타이머와 카운터를 위한 타이머이니, 새로운 타이머 하나를 더 추가합니다.


1
2
3
4
5
6
7
8
9
        private void timer2_Tick(object sender, EventArgs e)
        {
            get_time();
        }
 
        private void get_time()
        {
            dateTimeText.Text = DateTime.Now.ToString();
        }
cs



'timer2_Tick()'은 타이머2가 1초마다 호출 될 함수 입니다.


이 곳에서 'get_time()'이라는 함수를 호출합니다.


'get_time()'은 위 그림의 네모부분 즉, 텍스트 창인 'dateTimeText'에 현재시간을 넣어줍니다.


시간 형식은 기본적으로 날짜와 시간이 12시간제로 표시가 됩니다.


만약 형식을 바꾸고 싶으시면 DateTime.Now.ToString(바꾸고 싶은 포맷); 을 하시면 됩니다.


기록 버튼을 눌렀을 때 리스트 뷰에 시간을 추가해야 하니, 먼저 항목을 처음 시작시 추가해 주고,


기록 버튼을 눌렀을 때 아래 코드를 추가해 줍니다.


1
2
3
4
5
ListViewItem lv = new ListViewItem(recordCnt.ToString());
lv.SubItems.Add(timerText.Text);
lv.SubItems.Add(dateTimeText.Text.ToString());
listView1.Items.Add(lv);
recordCnt++;
cs


3번째 라인이 새로 추가된 부분입니다.


이제 실행해 보겠습니다.



이런식으로 현재 시간이 표시가 되고, 리스트 뷰에도 Time이라는 항목이 추가되었습니다.


시작을 누르고 기록을 눌러보면



이런식으로 시간이 추가가 됩니다.


※ 추가


아까 위에서 말한 시간형식을 수정해 보겠습니다.


1
dateTimeText.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
cs


만약 형식을 이렇게 수정하면 아래와 같이 나타납니다.


다른점이 보이시나요?^^



반응형

인기글