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-08
3種方法實(shí)現(xiàn)WindowsForm切換窗口
這篇文章主要介紹了3種方法實(shí)現(xiàn)WindowsForm切換窗口,文中講解非常詳細(xì),示例代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
unity實(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

