用Visual C#.net完成一个简单时间提醒器
有些人一用起电脑就会忘记时间,所以我就想做一个小工具,能实现闹钟的功能。
首先,要设计用户界面,要简介易用,所以不必太多的东西,要两个TextBox,两个Button,还有几个用来显示文字提示Lable,的就可以了!
把控件安排好以后,就可以编写代码了。其中一个TextBox(代码中的textBox1)是要输入时间到了以后要显示的提示信息。另一个TextBox则是设置时间的(代码中的textBox2)。设置时间的TextBox的格式是“00:00:00”,所以要有很多限定,比如只能输入数字,而且其中的两个冒号不能被修改。一下我就设计了SimpleTextBox类,来限制时间的输入。SimpleTextBox类代码如下:
文件:SimpleTextBox.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
namespace SimpleTextBox
{
public class SimpleTextBox : System.Windows.Forms.TextBox
{
private string m_format; //设定时间的显示格式
private char m_inpChar; //缺省的字符
public SimpleTextBox()
{
base.Multiline=false;
base.MaxLength=8;
m_inpChar = '0';
m_format = " 00:00:00 ";
}
private bool IsValidChar(char input)
{
return(char.IsDigit(input)); //检查是否为数字
}
//重载TextBox的OnKeyPress方法
protected override void OnKeyPress(KeyPressEventArgs e)
{
int strt = base.SelectionStart;
int len = base.SelectionLength;
int p;
// 处理Backspace键 -> 用缺省字符代替删除后的地方
if(e.KeyChar == 0x08)
{
string s = base.Text;
p = Prev(strt);
if(p != strt)
{
base.Text = s.Substring(0, p) +m_inpChar.ToString() + s.Substring(p + 1);
base.SelectionStart = p;
base.SelectionLength = 1;
}