2011-04-28 54 views

回答

4

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

1

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

如果你有AJAX控件,你可以使用筛选文本框扩展 <cc1:FilteredTextBoxExtender id="FilteredTextBoxExtender8" runat="server" TargetControlID="YourTextBox" FilterType="Custom,Numbers" ValidChars="." > </cc1:FilteredTextBoxExtender>

或者你也可以尝试马可的做法。

+0

你能告诉我怎么这个代码'^(\ d {0,11})(\ d {0,2})?$' – 2011-04-29 13:34:32

+0

还怎么可以允许用户输入+和 - 符号 – 2011-04-29 14:30:32

+0

@Failed_Noob是否使用Visual Studio?如果是什么版本?如果没有...那么你是如何创建Winform?尝试看看这个链接http://msdn.microsoft.com/en-us/library/ms996428.aspx – 2011-04-29 17:15:53

1

这个怎么样将只允许数值数据和后退的空间

Keypress事件

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

我在这里用的PIN代码文本框命名一个PIN码,ID为txtPinCode

你只写在代码之上的文件功能启动 让我们写这个代码并检查一次

$(“#<%= txtPincode.ClientID%>”)。numeric();

感谢 akreddy

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 
相关问题