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#程序设计有一定的帮助作用。