그림과 같이 간단한 디지털 시계를 WinForm으로 만들어 보자
lable1에 현재의 시간을 기록하게 하면 된다.
시간을 처리하기 위해 Timer 콘트롤을 사용한다.
주의할 점은 WPF에서는 Timer를 쓸 수 없고 DispatcherTimer를 쓴다는 점이다.
또, DispatcherTimer를 사용하기 위해서 using System.Windows.Threading; 를 추가해야 한다.
폰트는 디자이너에서 수정했다.
Form의 가운데에 글씨가 나타나게 하려면 Form의 ClientSize를 참조해야 한다. 또한 Label의 Size는 글자가 들어가야 나오므로 현재 시간을 넣어 주고 크기를 계산하도록 한다.
코드는 다음과 같다.
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 |
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WinFormEx3_DClock_
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
timer1.Interval = 1000;
timer1.Enabled = true;
timer1.Tick += Timer1_Tick;
// this는 Form1을 가리킴
this.BackColor = Color.LightSteelBlue;
this.Text = "myDigitalClock";
label1.Text = DateTime.Now.ToString();
label1.TextAlign = ContentAlignment.MiddleCenter;
}
private void Timer1_Tick(object sender, EventArgs e)
{
label1.Location = new Point(this.ClientSize.Width / 2 - label1.Width / 2,
this.ClientSize.Height / 2 - label1.Height / 2);
label1.Text = DateTime.Now.ToString();
}
}
} |
cs |
beeeye Dmu
'C# Form' 카테고리의 다른 글
[C# Form] Control의 배열 - 코딩으로 콘트롤 입력하기 (0) | 2016.10.03 |
---|---|
[C# Form] 마우스 좌표를 StatusStrip에 표시 (0) | 2016.09.21 |
도서관 관리 프로그램 (0) | 2016.09.18 |
Show()와 ShowDialog() (1) | 2016.09.18 |
C# DateTimePicker의 값을 DB에 넣는 방법(동영상 링크 포함) (0) | 2016.06.14 |