0

我必须创建一个文本框,它将忽略所有非数字输入。我尝试使用在此站点中找到的此代码

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
            e.Handled = Not Char.IsDigit(e.Keychar)
End Sub

但是我在这部分代码中有一个错误System.Windows.Forms.KeyPressEventArgs

我究竟做错了什么?

4

5 回答 5

1

希望这可以帮助

  Sub btnDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress

    if e.KeyChar= Chr(8)
       'do something for backspace
    else if e.KeyChar=(CHr(13)
       'do something for enter
    end if
    end sub
于 2013-04-30T16:50:44.563 回答
0

在代码隐藏中使用它

if(Regex.IsMatch(yourStringToValidate,"^[a-zA-Z0-9\\\$]+$")
{
   //Place your msg
}
else
{
 //Place your validation msg
}
于 2013-04-30T06:22:34.817 回答
0

尝试使用MaskedTextBox并将掩码设置为如下所示:

maskedTextBox1.Mask = "\d*";
于 2013-04-30T06:34:01.660 回答
0

这段代码应该放在 html 的 head 部分。

我已经使用 Jquery 库来验证目的

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

 <script type="text/javascript">
        $(document).ready(function() {
        $('#mytext').keydown(function(e) {

                if (e.shiftKey) e.preventDefault();
                else {
                    var nKeyCode = e.keyCode;
                    //Ignore Backspace and Tab keys
                    if (nKeyCode == 8 || nKeyCode == 9) return;
                    if (nKeyCode < 95) {
                        if (nKeyCode < 48 || nKeyCode > 57) e.preventDefault();
                    } else {
                        if (nKeyCode < 96 || nKeyCode > 105) e.preventDefault();
                    }
                }

            });
        });

    </script>

html代码

<input type="text" id="mytext">
于 2013-04-30T06:45:57.320 回答
0

我同意 ASP.net 中的 Dai Key 中风应该始终在客户端进行管理,以避免不必要的回发和避免服务器过载。如果您不熟悉 Javascript,您可以参考 W3School 的这个优秀教程来管理输入的 onChangeEvent

http://www.w3schools.com/jsref/event_onchange.asp

如果你真的想管理'on fly'键,你可以管理'onkeyDown'事件 http://www.w3schools.com/jsref/event_onkeydown.asp

于 2013-04-30T06:20:30.710 回答