none
TextBox设置InputScope="Number"无效 RRS feed

  • 问题

  • 我想设置TextBox只能输入数字,因此设置了InputScope="Number",但没有效果,仍然可以输入其他类型字符。
    2015年4月27日 16:44

答案

  • 你好,

    TextBox的InputScope="Number"只是可以呼出数字键盘,对于输入范围不进行任何验证,更多信息可以看看 TextBox 的描述。

    如果要验证,只能是在TextChanged事件里处理了,方法有很多,可以参考下面的Code:

    private void txtNeumeric_TextChanged(object sender, EventArgs e)
            {
                if (System.Text.RegularExpressions.Regex.IsMatch(txtNo.Text, "^[0-9 ]+$") || txtNo.Text == "")
                {
                         //do something
                }
                else
                {
                    txtNo.Text = txtNo.Text.Remove(txtNo.Text.Length - 1, 1);
                    this.txtNo.SelectionStart = this.txtNo.TextLength + 1;
                    MessageBox.Show("Enter only Numeric");
                }

              
            }

    --Simon


    True mastery of any skill takes a lifetime.


    • 已标记为答案 oneonce 2015年4月28日 1:27
    • 已编辑 lxd_DD 2015年4月28日 1:30 add code
    2015年4月28日 1:26