简单实用闹钟小程序。
Timer控件实现定时操作任务。
Code
1private System.Timers.Timer time;
2
3 //定义委托
4 private delegate void AddDateTimeToLabelDL(Label Label, string str);
5 private AddDateTimeToLabelDL oAddDateTimeToLabel;
6 AddDateTimeToLabel刷新时间#region AddDateTimeToLabel刷新时间
7 private void AddDateTimeToLabelMethod(Label Label, string str)
8 {
9 Label.Text = str;
10 Label.Refresh();
11 }
12 #endregion
13 private void btnStart_Click(object sender, EventArgs e)
14 {
15 time = new System.Timers.Timer();
16 time.Elapsed += new System.Timers.ElapsedEventHandler(time_Elapsed);
17 time.Interval = 100;
18 time.Enabled = true;
19 btnStart.Enabled = false;
20 }
21
22 void time_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
23 {
24 //异步处理刷新界面显示当前时间
25 if (this.label1.InvokeRequired)
26 {
27 this.BeginInvoke(this.oAddDateTimeToLabel, new object[] { this.label1, System.DateTime.Now.ToString() });
28 }
29 if (System.DateTime.Now >= dTimePick.Value)
30 {
31 if (axWindowsMediaPlayer1.playState != WMPLib.WMPPlayState.wmppsPlaying)
32 {
33 axWindowsMediaPlayer1.Ctlcontrols.play();
34 }
35 }
36 }
37
38 private void btnEnd_Click(object sender, EventArgs e)
39 {
40 time.Enabled = false;
41 btnStart.Enabled = true;
42 if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsPlaying)
43 {
44 axWindowsMediaPlayer1.Ctlcontrols.stop();
45 }
46 }
47
48 private void mFrm_Load(object sender, EventArgs e)
49 {
50 oAddDateTimeToLabel = new AddDateTimeToLabelDL(this.AddDateTimeToLabelMethod);
51 }
1private System.Timers.Timer time;
2
3 //定义委托
4 private delegate void AddDateTimeToLabelDL(Label Label, string str);
5 private AddDateTimeToLabelDL oAddDateTimeToLabel;
6 AddDateTimeToLabel刷新时间#region AddDateTimeToLabel刷新时间
7 private void AddDateTimeToLabelMethod(Label Label, string str)
8 {
9 Label.Text = str;
10 Label.Refresh();
11 }
12 #endregion
13 private void btnStart_Click(object sender, EventArgs e)
14 {
15 time = new System.Timers.Timer();
16 time.Elapsed += new System.Timers.ElapsedEventHandler(time_Elapsed);
17 time.Interval = 100;
18 time.Enabled = true;
19 btnStart.Enabled = false;
20 }
21
22 void time_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
23 {
24 //异步处理刷新界面显示当前时间
25 if (this.label1.InvokeRequired)
26 {
27 this.BeginInvoke(this.oAddDateTimeToLabel, new object[] { this.label1, System.DateTime.Now.ToString() });
28 }
29 if (System.DateTime.Now >= dTimePick.Value)
30 {
31 if (axWindowsMediaPlayer1.playState != WMPLib.WMPPlayState.wmppsPlaying)
32 {
33 axWindowsMediaPlayer1.Ctlcontrols.play();
34 }
35 }
36 }
37
38 private void btnEnd_Click(object sender, EventArgs e)
39 {
40 time.Enabled = false;
41 btnStart.Enabled = true;
42 if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsPlaying)
43 {
44 axWindowsMediaPlayer1.Ctlcontrols.stop();
45 }
46 }
47
48 private void mFrm_Load(object sender, EventArgs e)
49 {
50 oAddDateTimeToLabel = new AddDateTimeToLabelDL(this.AddDateTimeToLabelMethod);
51 }
1 private System.Timers.Timer time;
2
3//定义委托
4 private delegate void AddDateTimeToLabelDL(Label Label, string str);
5 private AddDateTimeToLabelDL oAddDateTimeToLabel;
6 AddDateTimeToLabelMethod刷新时间#region AddDateTimeToLabelMethod刷新时间
7 private void AddDateTimeToLabelMethod(Label Label, string str)
8 {
9 Label.Text = str;
10 Label.Refresh();
11 }
12 #endregion
13 private void btnStart_Click(object sender, EventArgs e)
14 {
15 time = new System.Timers.Timer();
16 time.Elapsed += new System.Timers.ElapsedEventHandler(time_Elapsed);
17 time.Interval = 100;//设置时间间隔
18 time.Enabled = true;//
19 btnStart.Enabled = false;
20 }
21
22 void time_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
23 {
24 //实现实时刷新界面当前时间
25 if (this.label1.InvokeRequired)
26 {
27 this.BeginInvoke(this.oAddDateTimeToLabel, new object[] { this.label1, System.DateTime.Now.ToString() });
28 }
29 //当前时间大于时,调用WindowsMediaPlayer自动循环播放MP3.
30 if (System.DateTime.Now >= dTimePick.Value)
31 {
32 if (axWindowsMediaPlayer1.playState != WMPLib.WMPPlayState.wmppsPlaying)
33 {
34 axWindowsMediaPlayer1.Ctlcontrols.play();
35 }
36 }
37 }