C#实现闹钟AlarmClock实例代码
本文所述是一个小巧且功能简单的C#闹钟程序代码AlarmClock,程序涉及到了AxInterop.MSMask.dll与Interop.MSMask.dll两个控件,对编写时间闹钟或许有点参考价值。
完整实例代码如下:
usingSystem; usingSystem.Drawing; usingSystem.Collections; usingSystem.ComponentModel; usingSystem.Windows.Forms; usingSystem.Data; namespaceAlarmClock { ///<summary> ///Form1的摘要说明。 ///</summary> publicclassForm1:System.Windows.Forms.Form { privateSystem.Windows.Forms.MonthCalendarmonthCalendar1; privateSystem.Windows.Forms.Labellabel1; privateSystem.Windows.Forms.TextBoxtextBox1; privateSystem.Windows.Forms.ListBoxlistBox1; privateAxMSMask.AxMaskEdBoxmask1; privateSystem.Windows.Forms.Timertimer1; privateSystem.Windows.Forms.ButtonbuttonAdd; privateSystem.Windows.Forms.ButtonbuttonDel; privateSystem.ComponentModel.IContainercomponents; publicForm1() { InitializeComponent(); } protectedoverridevoidDispose(booldisposing) { if(disposing) { if(components!=null) { components.Dispose(); } } base.Dispose(disposing); } #regionWindows窗体设计器生成的代码 ///<summary> ///设计器支持所需的方法-不要使用代码编辑器修改 ///此方法的内容。 ///</summary> privatevoidInitializeComponent() { this.components=newSystem.ComponentModel.Container(); System.Resources.ResourceManagerresources=newSystem.Resources.ResourceManager(typeof(Form1)); this.monthCalendar1=newSystem.Windows.Forms.MonthCalendar(); this.label1=newSystem.Windows.Forms.Label(); this.mask1=newAxMSMask.AxMaskEdBox(); this.textBox1=newSystem.Windows.Forms.TextBox(); this.listBox1=newSystem.Windows.Forms.ListBox(); this.buttonAdd=newSystem.Windows.Forms.Button(); this.buttonDel=newSystem.Windows.Forms.Button(); this.timer1=newSystem.Windows.Forms.Timer(this.components); ((System.ComponentModel.ISupportInitialize)(this.mask1)).BeginInit(); this.SuspendLayout(); // //monthCalendar1 // this.monthCalendar1.Location=newSystem.Drawing.Point(12,112); this.monthCalendar1.Name="monthCalendar1"; this.monthCalendar1.TabIndex=0; // //label1 // this.label1.Font=newSystem.Drawing.Font("宋体",14.25F,System.Drawing.FontStyle.Bold,System.Drawing.GraphicsUnit.Point,((System.Byte)(134))); this.label1.Location=newSystem.Drawing.Point(8,16); this.label1.Name="label1"; this.label1.Size=newSystem.Drawing.Size(88,23); this.label1.TabIndex=1; this.label1.Text="label1"; // //mask1 // this.mask1.Location=newSystem.Drawing.Point(16,48); this.mask1.Name="mask1"; this.mask1.OcxState=((System.Windows.Forms.AxHost.State)(resources.GetObject("mask1.OcxState"))); this.mask1.Size=newSystem.Drawing.Size(88,23); this.mask1.TabIndex=2; // //textBox1 // this.textBox1.Location=newSystem.Drawing.Point(16,80); this.textBox1.Name="textBox1"; this.textBox1.Size=newSystem.Drawing.Size(88,21); this.textBox1.TabIndex=3; this.textBox1.Text="输入内容"; // //listBox1 // this.listBox1.ItemHeight=12; this.listBox1.Location=newSystem.Drawing.Point(120,16); this.listBox1.Name="listBox1"; this.listBox1.Size=newSystem.Drawing.Size(152,52); this.listBox1.TabIndex=4; // //buttonAdd // this.buttonAdd.Location=newSystem.Drawing.Point(120,80); this.buttonAdd.Name="buttonAdd"; this.buttonAdd.Size=newSystem.Drawing.Size(56,24); this.buttonAdd.TabIndex=5; this.buttonAdd.Text="添加"; this.buttonAdd.Click+=newSystem.EventHandler(this.buttonAdd_Click); // //buttonDel // this.buttonDel.Location=newSystem.Drawing.Point(216,80); this.buttonDel.Name="buttonDel"; this.buttonDel.Size=newSystem.Drawing.Size(56,24); this.buttonDel.TabIndex=6; this.buttonDel.Text="删除"; this.buttonDel.Click+=newSystem.EventHandler(this.buttonDel_Click); // //timer1 // this.timer1.Enabled=true; this.timer1.Interval=1000; this.timer1.Tick+=newSystem.EventHandler(this.timer1_Tick); // //Form1 // this.AutoScaleBaseSize=newSystem.Drawing.Size(6,14); this.ClientSize=newSystem.Drawing.Size(292,266); this.Controls.Add(this.buttonDel); this.Controls.Add(this.buttonAdd); this.Controls.Add(this.listBox1); this.Controls.Add(this.textBox1); this.Controls.Add(this.mask1); this.Controls.Add(this.label1); this.Controls.Add(this.monthCalendar1); this.Name="Form1"; this.Text="小闹钟"; this.Load+=newSystem.EventHandler(this.Form1_Load); ((System.ComponentModel.ISupportInitialize)(this.mask1)).EndInit(); this.ResumeLayout(false); } #endregion ///<summary> ///应用程序的主入口点。 ///</summary> [STAThread] staticvoidMain() { Application.Run(newForm1()); } privatevoidtimer1_Tick(objectsender,System.EventArgse) { //计时事件 label1.Text=System.DateTime.Now.ToLongTimeString(); //定时功能 inti; //当前时间信息 inthh=DateTime.Now.Hour; intmm=DateTime.Now.Minute; intss=DateTime.Now.Second; for(i=1;i<=listBox1.Items.Count;i++) { stringmytime; intmyhh,mymm,myss; //获取事件字符串 mytime=listBox1.Items[i-1].ToString(); myhh=int.Parse(mytime.Substring(0,2)); if(hh==myhh) { mymm=int.Parse(mytime.Substring(2,2)); if(mm==mymm) { myss=int.Parse(mytime.Substring(4,2)); if(ss==myss) { stringtempmsg=mytime.Substring(7,mytime.Length-7); MessageBox.Show(tempmsg,"闹钟提示"); } } } } } privatevoidbuttonAdd_Click(objectsender,System.EventArgse) { Stringtempstr; inttss; inttmm; intthh; //获取用户输入的时间 tempstr=mask1.ClipText; //判断输入是否完整 if(tempstr.Length<6) { MessageBox.Show("输入格式错误,不足位请补0","格式错误"); //设置焦点 mask1.Focus(); //设置重新输入起始位置 mask1.SelStart=0; //设置选择字符的长度 mask1.SelLength=8; return; } //取得小时数并加以判断 thh=int.Parse(tempstr.Substring(0,2)); if(thh<0||thh>23) { MessageBox.Show("输入小时数应在0到23之间","小时数错误"); mask1.Focus(); mask1.SelStart=0; mask1.SelLength=2; return; } //获取分钟数并加以判断 tmm=int.Parse(tempstr.Substring(2,2)); if(tmm<0||tmm>60) { MessageBox.Show("输入分钟数应在0到60之间","分钟数错误"); mask1.Focus(); mask1.SelStart=3; mask1.SelLength=2; return; } //获取秒钟数并加以判断 tss=int.Parse(tempstr.Substring(4,2)); if(tss<0||tss>60) { MessageBox.Show("输入秒钟数应在0到60之间","秒钟数错误"); mask1.Focus(); mask1.SelStart=6; mask1.SelLength=2; return; } //将定时事件添加到ListBox中 tempstr=tempstr+"-"+textBox1.Text; listBox1.Items.Add(tempstr); textBox1.Text=""; } privatevoidbuttonDel_Click(objectsender,System.EventArgse) { //如果列表中存在定时项 if(listBox1.Items.Count>0) { //删除选中的项 if(listBox1.SelectedItems.Count>0) { listBox1.Items.RemoveAt(listBox1.SelectedIndex); } } } privatevoidForm1_Load(objectsender,System.EventArgse) { label1.Text=System.DateTime.Now.ToLongTimeString(); } } }
本文实例代码备有较为详尽的注释,可以帮助大家很好的理解代码段的功能,希望本文所述实例对大家的C#程序设计有一定的帮助作用。