加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 限制TextBox中的字符

发布时间:2020-12-15 08:45:43 所属栏目:百科 来源:网络整理
导读:我正在使用C#WinRT应用程序构建表单,我想将其中一个TextBox组件中的字符限制为仅限数字. (此TextBox将供用户输入一年.) 我已经搜索了一段时间,但是如果没有在TextChanged事件上设置事件监听器,并且在每次按键检查文本属性时都无法解决这个问题.有没有办法简
我正在使用C#WinRT应用程序构建表单,我想将其中一个TextBox组件中的字符限制为仅限数字. (此TextBox将供用户输入一年.)

我已经搜索了一段时间,但是如果没有在TextChanged事件上设置事件监听器,并且在每次按键检查文本属性时都无法解决这个问题.有没有办法简单地说用户只能在TextBox中输入特定的字符?

解决方法

最简单的事情是绑定到OnTextChanged事件并根据您的规则修改文本.
<TextBox x:Name="TheText" TextChanged="OnTextChanged" MaxLength="4"/>
private void OnTextChanged(object sender,TextChangedEventArgs e)
    {
        if (TheText.Text.Length == 0) return;

        var text = TheText.Text;

        int result;
        var isValid = int.TryParse(text,out result);
        if (isValid) return;

        TheText.Text = text.Remove(text.Length - 1);
        TheText.SelectionStart = text.Length;
    }

但是,我会回避这种方法,因为Metro的口头禅是触摸第一个UI,你可以通过FlipView控件以第一种方式轻松完成.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读