C#實(shí)現(xiàn)鬧鐘AlarmClock實(shí)例代碼
本文所述是一個(gè)小巧且功能簡(jiǎn)單的C#鬧鐘程序代碼AlarmClock,程序涉及到了AxInterop.MSMask.dll與Interop.MSMask.dll兩個(gè)控件,對(duì)編寫時(shí)間鬧鐘或許有點(diǎn)參考價(jià)值。
完整實(shí)例代碼如下:
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 窗體設(shè)計(jì)器生成的代碼 /// <summary> /// 設(shè)計(jì)器支持所需的方法 - 不要使用代碼編輯器修改 /// 此方法的內(nèi)容。 /// </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 = "輸入內(nèi)容"; // // 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> /// 應(yīng)用程序的主入口點(diǎn)。 /// </summary> [STAThread] static void Main() { Application.Run(new Form1()); } private void timer1_Tick(object sender, System.EventArgs e) { //計(jì)時(shí)事件 label1.Text = System.DateTime.Now.ToLongTimeString(); //定時(shí)功能 int i; //當(dāng)前時(shí)間信息 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; //獲取用戶輸入的時(shí)間 tempstr = mask1.ClipText; //判斷輸入是否完整 if( tempstr.Length < 6 ) { MessageBox.Show( "輸入格式錯(cuò)誤,不足位請(qǐng)補(bǔ)0", "格式錯(cuò)誤" ); //設(shè)置焦點(diǎn) mask1.Focus( ); //設(shè)置重新輸入起始位置 mask1.SelStart = 0; //設(shè)置選擇字符的長(zhǎng)度 mask1.SelLength = 8; return; } //取得小時(shí)數(shù)并加以判斷 thh = int.Parse( tempstr.Substring(0,2) ); if( thh < 0 || thh > 23 ) { MessageBox.Show( "輸入小時(shí)數(shù)應(yīng)在0到23之間", "小時(shí)數(shù)錯(cuò)誤" ); mask1.Focus( ); mask1.SelStart = 0; mask1.SelLength = 2; return; } //獲取分鐘數(shù)并加以判斷 tmm = int.Parse( tempstr.Substring(2,2) ); if( tmm < 0 || tmm > 60 ) { MessageBox.Show( "輸入分鐘數(shù)應(yīng)在0到60之間", "分鐘數(shù)錯(cuò)誤" ); mask1.Focus( ); mask1.SelStart = 3; mask1.SelLength = 2; return; } //獲取秒鐘數(shù)并加以判斷 tss = int.Parse( tempstr.Substring(4,2) ); if( tss < 0 || tss > 60 ) { MessageBox.Show( "輸入秒鐘數(shù)應(yīng)在0到60之間", "秒鐘數(shù)錯(cuò)誤" ); mask1.Focus( ); mask1.SelStart = 6; mask1.SelLength = 2; return; } //將定時(shí)事件添加到ListBox中 tempstr = tempstr + "-" + textBox1.Text; listBox1.Items.Add( tempstr ); textBox1.Text = ""; } private void buttonDel_Click(object sender, System.EventArgs e) { //如果列表中存在定時(shí)項(xiàng) if( listBox1.Items.Count > 0 ) { //刪除選中的項(xiàng) 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(); } } }
本文實(shí)例代碼備有較為詳盡的注釋,可以幫助大家很好的理解代碼段的功能,希望本文所述實(shí)例對(duì)大家的C#程序設(shè)計(jì)有一定的幫助作用。
相關(guān)文章
C#實(shí)現(xiàn)圖像選擇驗(yàn)證碼的示例代碼
為了防止網(wǎng)站被非法登陸,網(wǎng)站一般通過驗(yàn)證碼的方式,防止黑客用軟件非法登陸,本文主要介紹了C#實(shí)現(xiàn)圖像選擇驗(yàn)證碼的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-083種方法實(shí)現(xiàn)WindowsForm切換窗口
這篇文章主要介紹了3種方法實(shí)現(xiàn)WindowsForm切換窗口,文中講解非常詳細(xì),示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07unity實(shí)現(xiàn)鼠標(biāo)拖住3D物體
這篇文章主要為大家詳細(xì)介紹了unity實(shí)現(xiàn)鼠標(biāo)拖住3D物體,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07基于C# 寫一個(gè) Redis 數(shù)據(jù)同步小工具
Redis支持主從同步。數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,從服務(wù)器可以是關(guān)聯(lián)其他從服務(wù)器的主服務(wù)器。這篇文章主要介紹了用 C# 寫一個(gè) Redis 數(shù)據(jù)同步小工具,需要的朋友可以參考下2020-02-02