今天做了一个简单的程序,要求文本框只能接受数字,不能接受其他的字符串,而且要在输入和时候做检测,不是都输入后在做检测,一下是代码。

private void InitializeComponent()
{
textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.UserControl1_KeyDown);
textBox1.KeyUp += new System.Windows.Forms.KeyEventHandler(this.UserControl1_KeyUp);
}

private void UserControl1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
 int total=textBox1.TextLength-1;
   
 if(e.KeyCode!=Keys.D0&e.KeyCode!=Keys.D1&e.KeyCode!=Keys.D2&e.KeyCode!=Keys.D3&e.KeyCode!=Keys.D4&e.KeyCode!

=Keys.D5&e.KeyCode!=Keys.D6&e.KeyCode!=Keys.D7&e.KeyCode!=Keys.D8&e.KeyCode!=Keys.D9)
 {
          try
  {
   textBox1.Text=textBox1.Text.Substring(0,total);
   textBox1.SelectionStart=textBox1.TextLength;
  }
  catch (Exception ex)
  {
  }
 }
}

private void UserControl1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
 int total=textBox1.TextLength-1;
   
 if(e.KeyCode!=Keys.D0&e.KeyCode!=Keys.D1&e.KeyCode!=Keys.D2&e.KeyCode!=Keys.D3&e.KeyCode!=Keys.D4&e.KeyCode!

=Keys.D5&e.KeyCode!=Keys.D6&e.KeyCode!=Keys.D7&e.KeyCode!=Keys.D8&e.KeyCode!=Keys.D9)
 {
  try
  {
   textBox1.Text=textBox1.Text.Substring(0,total);
   textBox1.SelectionStart=textBox1.TextLength;
  }
  catch (Exception ex)
  {
  }
 }   
}

至于具体的解释,我稍后在给出,我把程序上传了,欢迎大家一起探讨。
程序下载:https://files.cnblogs.com/airwolf2004/Debug.rar

posted on 2006-01-09 18:45  飞狼博客  阅读(216)  评论(0编辑  收藏  举报