WINFORM限制textbox只能输入数字

首先引用

using System.Text.RegularExpressions;

给TextBox添加KeyPress事件,代码如下:

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
     
if ((Convert.ToInt32(e.KeyChar) == 8))
    
{
          e.Handled
= false;
    }

    
else
    {
          Regex numRegex
= new Regex(@"^(-?[0-9]*[.]*[0-9]*)$");
          Match Result
= numRegex.Match(Convert.ToString(e.KeyChar));
         
if (Result.Success)
         {
                e.Handled
= false;
         }

         
else

         {
                e.Handled
= true;
         }

    }
}

此时还是不完全的,因为这时候单击右键的时候可以将非数字文字粘贴到textbox中去,在vs2005中我们只要这样设置就可以:

this.textBox1.ShortcutsEnabled = false;


你可能感兴趣的:(WinForm)