Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress e.Handled = IsNumber(e.KeyChar) End Sub Private Function IsNumber(ByVal N As Char) As Boolean Return System.Text.RegularExpressions.Regex.IsMatch(N, "^[+|-]?(\d+(\.\d*)?|\d{1,2}(,\d{3})*(\.\d*)?)$") End Function 给你VB版的例子,不过C#和他一样的,呵呵盗用了 520NET(随风)的正则
判断keycode是不是在48和112之外(可能是这个之外。你可以查MSDN)
/// 验证数字
/// </summary>
/// <param name="number">输入字符串number</param>
/// <returns>返回是否是数字</returns>
public bool IsNumber(string number)
{
return Regex.IsMatch(number, @"^[+|-]?(\d+(\.\d*)?|\d{1,2}(,\d{3})*(\.\d*)?)$");
}
e.Handled = IsNumber(e.KeyChar)
End Sub
Private Function IsNumber(ByVal N As Char) As Boolean
Return System.Text.RegularExpressions.Regex.IsMatch(N, "^[+|-]?(\d+(\.\d*)?|\d{1,2}(,\d{3})*(\.\d*)?)$")
End Function
给你VB版的例子,不过C#和他一样的,呵呵盗用了 520NET(随风)的正则
我采用的方法如下:
if(e.KeyChar>48&&e.KeyChar<57)
{
str_bool=true;
}
else
{
str_bool=false;
}
str_bool是我定义的bool类型的变量,
谢谢