C#如何让文本框TextBox只允许输入特定的字符输入

定义一个字符集合
byte[] b;
如果键盘编号在b中,则允输入,否则不许输入,如果能让非法字符连键盘事件都不触发那就更好了
有没有一种办法只有合法字符才能触发键盘事件呢
最新回答
口吻生花

2024-05-06 05:00:48

 private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            //只允许输入0~9中间的数字,你可以修改允许输入的字符的e.keychar值达到你的需求。
            if (e.KeyChar >= '0' && e.KeyChar<='9' )
            {
                e.Handled = false;
                return;
            }             
            else
            {
                e.Handled = true;

            }
        }

这个可以了吧~

未央几寒

2024-05-06 05:01:01

“如果键盘编号在b中,则允输入,否则不许输入”,这个可以用你的字符集b与键盘e.KeyChar的Ascii比较,不在字符集中的将其屏蔽即可。

“非法字符连键盘事件都不触发”,好像目前还没有这个办法。
芳香的流年

2024-05-06 03:55:32

textbox 有个 KeyPress事件 可以控制只允许输入的字符 e.handled=true 不可以输入
风住尘香花已尽

2024-05-06 04:47:16

在PreviewKeyDown里面判断,如果不符合要求就取消操作。