C#实现闹钟AlarmClock实例代码
投稿:shichen2014
这篇文章主要介绍了C#实现闹钟AlarmClock实例代码,很实用的功能,需要的朋友可以参考下
本文所述是一个小巧且功能简单的C#闹钟程序代码AlarmClock,程序涉及到了AxInterop.MSMask.dll与Interop.MSMask.dll两个控件,对编写时间闹钟或许有点参考价值。
完整实例代码如下:
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; namespace AlarmClock { /// <summary> /// Form1 的摘要说明。 /// </summary> public class Form1 : System.Windows.Forms.Form { private System.Windows.Forms.MonthCalendar monthCalendar1; private System.Windows.Forms.Label label1; private System.Windows.Forms.TextBox textBox1; private System.Windows.Forms.ListBox listBox1; private AxMSMask.AxMaskEdBox mask1; private System.Windows.Forms.Timer timer1; private System.Windows.Forms.Button buttonAdd; private System.Windows.Forms.Button buttonDel; private System.ComponentModel.IContainer components; public Form1() { InitializeComponent(); } protected override void Dispose( bool disposing ) { if( disposing ) { if (components != null) { components.Dispose(); } } base.Dispose( disposing ); } #region Windows 窗体设计器生成的代码 /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1)); this.monthCalendar1 = new System.Windows.Forms.MonthCalendar(); this.label1 = new System.Windows.Forms.Label(); this.mask1 = new AxMSMask.AxMaskEdBox(); this.textBox1 = new System.Windows.Forms.TextBox(); this.listBox1 = new System.Windows.Forms.ListBox(); this.buttonAdd = new System.Windows.Forms.Button(); this.buttonDel = new System.Windows.Forms.Button(); this.timer1 = new System.Windows.Forms.Timer(this.components); ((System.ComponentModel.ISupportInitialize)(this.mask1)).BeginInit(); this.SuspendLayout(); // // monthCalendar1 // this.monthCalendar1.Location = new System.Drawing.Point(12, 112); this.monthCalendar1.Name = "monthCalendar1"; this.monthCalendar1.TabIndex = 0; // // label1 // this.label1.Font = new System.Drawing.Font("宋体", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); this.label1.Location = new System.Drawing.Point(8, 16); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(88, 23); this.label1.TabIndex = 1; this.label1.Text = "label1"; // // mask1 // this.mask1.Location = new System.Drawing.Point(16, 48); this.mask1.Name = "mask1"; this.mask1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("mask1.OcxState"))); this.mask1.Size = new System.Drawing.Size(88, 23); this.mask1.TabIndex = 2; // // textBox1 // this.textBox1.Location = new System.Drawing.Point(16, 80); this.textBox1.Name = "textBox1"; this.textBox1.Size = new System.Drawing.Size(88, 21); this.textBox1.TabIndex = 3; this.textBox1.Text = "输入内容"; // // listBox1 // this.listBox1.ItemHeight = 12; this.listBox1.Location = new System.Drawing.Point(120, 16); this.listBox1.Name = "listBox1"; this.listBox1.Size = new System.Drawing.Size(152, 52); this.listBox1.TabIndex = 4; // // buttonAdd // this.buttonAdd.Location = new System.Drawing.Point(120, 80); this.buttonAdd.Name = "buttonAdd"; this.buttonAdd.Size = new System.Drawing.Size(56, 24); this.buttonAdd.TabIndex = 5; this.buttonAdd.Text = "添加"; this.buttonAdd.Click += new System.EventHandler(this.buttonAdd_Click); // // buttonDel // this.buttonDel.Location = new System.Drawing.Point(216, 80); this.buttonDel.Name = "buttonDel"; this.buttonDel.Size = new System.Drawing.Size(56, 24); this.buttonDel.TabIndex = 6; this.buttonDel.Text = "删除"; this.buttonDel.Click += new System.EventHandler(this.buttonDel_Click); // // timer1 // this.timer1.Enabled = true; this.timer1.Interval = 1000; this.timer1.Tick += new System.EventHandler(this.timer1_Tick); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.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 += new System.EventHandler(this.Form1_Load); ((System.ComponentModel.ISupportInitialize)(this.mask1)).EndInit(); this.ResumeLayout(false); } #endregion /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); } private void timer1_Tick(object sender, System.EventArgs e) { //计时事件 label1.Text = System.DateTime.Now.ToLongTimeString(); //定时功能 int i; //当前时间信息 int hh = DateTime.Now.Hour; int mm = DateTime.Now.Minute; int ss = DateTime.Now.Second; for( i = 1; i <= listBox1.Items.Count; i++ ) { string mytime; int myhh, 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 ) { string tempmsg = mytime.Substring(7, mytime.Length - 7 ); MessageBox.Show( tempmsg, "闹钟提示" ); } } } } } private void buttonAdd_Click(object sender, System.EventArgs e) { String tempstr; int tss; int tmm; int thh; //获取用户输入的时间 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 = ""; } private void buttonDel_Click(object sender, System.EventArgs e) { //如果列表中存在定时项 if( listBox1.Items.Count > 0 ) { //删除选中的项 if( listBox1.SelectedItems.Count > 0 ) { listBox1.Items.RemoveAt( listBox1.SelectedIndex ); } } } private void Form1_Load(object sender, System.EventArgs e) { label1.Text = System.DateTime.Now.ToLongTimeString(); } } }
本文实例代码备有较为详尽的注释,可以帮助大家很好的理解代码段的功能,希望本文所述实例对大家的C#程序设计有一定的帮助作用。