使用C#編寫一個計時器
2024-07-21 02:18:15
供稿:網友
大家好!好久沒有上來了!小生在此向各方豪杰問好!
今天溫習了一下c#,解決了老大一個難題,以前總是搞不懂重載運算符,也不知道它有什么用處,
今天總算把它給用上了,真有種在深山老林里用上電得感覺,呵呵!我用它做了一個計時器,下面
我就把代碼帖出來供大家玩樂一下也好!先把步驟說一下:
1.用.net建立一個windows應用程序
2.在項目下添加一個類命名為“time“
3.編寫“time“類得實現代碼
4.在窗體中放兩個label控件和一個時鐘(timer)控件
5.編寫窗體得load事件和(timer)控件的tick事件
以下是“time“類得實現代碼:
public class time
{
private int hours; //小時
private int minutes; //分鐘
private int seconds; //秒鐘
public time()
{
this.hours = 0;
this.minutes = 0;
this.seconds = 0;
}
public time(int hours,int minutes,int seconds)
{
this.hours = hours;
this.minutes = minutes;
this.seconds = seconds;
}
public void sethours(int hours)
{
this.hours = hours;
}
public void setminutes(int minutes)
{
this.minutes = minutes;
}
public void setseconds(int seconds)
{
this.seconds = seconds;
}
public int gethours()
{
return this.hours;
}
public int getminutes()
{
return this.minutes;
}
public int getseconds()
{
return this.seconds;
}
public static time operator ++(time time)
{
time.seconds++;
if (time.seconds >= 60)
{
time.minutes++;
time.seconds = 0;
if (time.minutes >= 60)
{
time.hours++;
time.minutes = 0;
time.seconds = 0;
if (time.hours >= 24)
{
time.hours = 0;
time.minutes = 0;
time.seconds = 0;
}
}
}
return new time(time.hours,time.minutes,time.seconds);
}
}
以下是load事件和timer控件的tick事件處理程序:
private void form1_load(object sender, system.eventargs e)
{
datetime dtime = datetime.now;
int hour = dtime.hour;
int minute = dtime.minute;
int second = dtime.second;
time = new time(hour,minute,second);
this.label1.text = "當前時間是:" + hour + ":" + minute + ":" + second;
this.timer1.start();
}
private void timer1_tick(object sender, system.eventargs e)
{
time++;
this.label2.text = "時間在流逝:" + time.gethours() + ":" + time.getminutes() + ":" + time.getseconds();
}