如何使文本框只接受数字字符?

时间:2011-04-28 06:39:55

标签: vb.net winforms textbox

如何让文本框只接受数字字符(0-9)?如果它包含任何字母或符号,则给出错误消息。

6 个答案:

答案 0 :(得分:4)

您可以抓住事件KeyDown并检查e.KeyCode是否为数字,如果需要,可以将其丢弃。
您可以尝试的另一件事是使用IsNumeric(txt.Text)

答案 1 :(得分:3)

这篇MSDN文章将为您提供帮助:

答案 2 :(得分:1)

您可以使用正则表达式,例如:^(\ d {0,11})(。\ d {0,2})?$ 这将允许小数点左边的0-11位和小数点右边的0-2位。

如果您有Ajax控件,则可以使用Filtered Textbox Extender <cc1:FilteredTextBoxExtender id="FilteredTextBoxExtender8" runat="server" TargetControlID="YourTextBox" FilterType="Custom,Numbers" ValidChars="." > </cc1:FilteredTextBoxExtender>

或者您也可以尝试Marco的方法。

答案 3 :(得分:1)

这将只允许数字数据和后退空间

Keypress事件

 if ((!char.IsNumber(e.KeyChar)) && !(e.KeyChar == (char)Keys.Back))
        {
            e.Handled = true;
        }

答案 4 :(得分:1)

这里我的pincode文本框名称为pin码,ID为txtPinCode

您只需在文档函数启动下的代码顶部写下 让我们编写这段代码并检查一次

$( “#&LT;%= txtPincode.ClientID%&gt;” 中)数字();

感谢 akreddy

答案 5 :(得分:0)

If Asc(e.KeyChar) <> 13 AndAlso Asc(e.KeyChar) <> 8 AndAlso Not IsNumeric(e.KeyChar) Then
    MessageBox.Show("Please enter numbers only")
    e.Handled = True
End If