怎样用c#做闹钟?

 我来答
伦爸爸199
推荐于2016-02-17 · 超过67用户采纳过TA的回答
知道答主
回答量:173
采纳率:100%
帮助的人:62.7万
展开全部
小闹钟大家都应该很熟悉,它包括时间、事件,当达到某某时间时,事件发生了,并且还有一个提示信息。所以这里面包括以下几个可视化控件,计时控件(timer1_Tick)、标签控件(label)(用于显示提示干什么)、列表框控件(listbox)(显示事件集)、文本框控件(textbox)、按钮控件(button),另外还有一个声音播放程序(与事件的发生相关联)。 现在我一一介绍各控件的代码:含解析 1.计时控件(timer1_Tick) private void timer1_Tick(object sender, 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;//获取计时器的秒数 。 。 } 注意,以上的DateTime.Now是获取当前的时间,其它的可以见上面的解析。 2.标签控件(label) label1.Text = System.DateTime.Now.ToLongTimeString();//计时器显示 3.文本框(textbox) string tempstr; tempstr = textBox1.Text; //添加闹钟事件 string info; info = textBox1.Text+"-"+textBox2.Text; listBox1.Items.Add(info); textBox2.Text = ""; 4.列表框控件(listbox)(显示事件集) 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(3,2)); //将字符串型转化为整形,表示从第3个字符开始的2个字符 if (mm == mymm)//判断两分数是否相等 { myss = int.Parse(mytime.Substring(6,2));//将字符串型转化为整形,表示从第6个字符开始的2个字符 if (ss == myss)//判断两秒数是否相等 {//闹钟事件开始: string tempmsg = mytime.Substring(9,mytime.Length-9);//获取闹钟提醒事件 SoundPlayer s = new SoundPlayer(@"C:WINDOWSMediaWindows XP 启动.wav");// 定义播放器,选择播放文件,在这里用的是系统声音 s.Play(); //播放音频 MessageBox.Show(tempmsg, "闹钟提示"); } } } } 5.button按钮控件:包括“添加”和“删除” //“添加”按钮的事件 private void button1_Click(object sender, EventArgs e) { string tempstr; int tss, thh, tmm; tempstr = textBox1.Text; if (tempstr.Length < 6)//达不到要求的情况 { MessageBox.Show("输入格式错误,不足位请补零","格式错误"); textBox1.Focus();//聚焦 textBox1.SelectionStart = 0;//从第0个字符开始聚焦 textBox1.SelectionLength = 8;//总共长度为8 return; } thh = int.Parse(tempstr.Substring(0,2));//获取时数并转化为整形 if (thh < 0 || thh > 23)//达不到要求的情况 { MessageBox.Show("输入的时数应在0--23之间","小时数错误"); textBox1.Focus();//聚焦 textBox1.SelectionStart = 0;//从第0个字符开始聚焦 textBox1.SelectionLength = 2;//总共长度为2 return; } tmm=int.Parse(tempstr.Substring(3,2));//获取分数并转化为整形 if (tmm < 0 || tmm >= 60)//达不到要求的情况 { MessageBox.Show("输入的分钟应在1--59之间","分钟数错误"); textBox1.Focus();//聚焦 textBox1.SelectionStart = 3;//从第3个字符开始聚焦 textBox1.SelectionLength = 2;//总共长度为2 return; } tss=int.Parse(tempstr.Substring(6,2));//获取秒数并转化为整形 if (tss < 0 || tss >= 60)//达不到要求的情况 { MessageBox.Show("输入的秒数应在1--59之间", "秒钟数错误"); textBox1.Focus();//聚焦 textBox1.SelectionStart = 6;//从第6个字符开始聚焦 textBox1.SelectionLength = 2;//总共长度为2 return; } //添加闹钟事件 string info; info = textBox1.Text+"-"+textBox2.Text; listBox1.Items.Add(info); textBox2.Text = ""; } //删除闹钟事件 private void button2_Click(object sender, EventArgs e) { if (listBox1.Items.Count > 0) { listBox1.Items.RemoveAt(listBox1.SelectedIndex);//移除选项 } }

麻烦采纳,谢谢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式