文本框不能输入空格

时间:2020-11-28 14:55:48
小弟初学C# 想问下如何才能让文本框无法输入空格
在网上找到两个判断
            if (e.KeyChar.ToString() == " ")
                e.Handled = true;
            if (e.KeyChar == 32)
                e.Handled = true;

虽然目的达到了,但是空格依然可以复制进去
别的地方说用正则表达式判断 可惜小弟不会呃 5555

顺便求个文本框只能输入数字的判断 谢谢啊~~

14 个解决方案

#1


顺便问下 那个e.KeyChar == 32是什么意思?
为什么等于了32就不能输入空格了呢?
第一个到还能看明白
第二个就不明白了

#2


32 是 ASCLL 码

#3


在文本框失去焦点是进行检查如果有空格就重新输入

#4


那就在事件里再替换一下吧

private void textBox1_TextChanged(object sender, EventArgs e)
{
    textBox1.Text = textBox1.Text.Replace(" ", "");
}

#5


对提交文本框的内容进行过滤,有空格提示。

#6


3Q 不能输入空格倒是搞定鸟

请问下 文本框不能输入数字要怎么判断呢?

#7


引用 6 楼 zhaojun125 的回复:
请问下 文本框不能输入数字要怎么判断呢?


判断输入进来的ASC码 

#8


引用 6 楼 zhaojun125 的回复:
3Q 不能输入空格倒是搞定鸟

请问下 文本框不能输入数字要怎么判断呢?


if (e.KeyChar >= 48 && e.KeyChar <= 57)
{
    e.Handled = true;
}

#9


32 空格ASCII码
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if(e.KeyChar!='')
    {
        e.Handled = true;
    }
}

#10


引用 8 楼 lxcnn 的回复:
引用 6 楼 zhaojun125 的回复:
3Q 不能输入空格倒是搞定鸟

请问下 文本框不能输入数字要怎么判断呢?


C# codeif (e.KeyChar>=48&& e.KeyChar<=57)
{
    e.Handled=true;
}


谢谢这位大大啊~~

我搞晕了  是只能输入数字 而且可以输入运算符

不好意思 弄错了

#11



List<char> list = new List<char>(new char[]{'+', '-', '*', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'});
if (!list.Contains(e.KeyChar))
    e.Handled = true;
//或者
if (!Regex.IsMatch(e.KeyChar.ToString(), "[-+*/0-9]"))
    e.Handled = true;

#12


谢谢楼上的各位 小弟感激不尽

#13



            if (!(e.KeyChar >= '0' && e.KeyChar <= '9') && e.KeyChar != (char)8)
            {
                e.Handled = true;
            }

哪位大大 能给小弟翻译下上面那代码啥意思?
先谢谢了~~

#14


引用 13 楼 zhaojun125 的回复:
C# codeif (!(e.KeyChar>='0'&& e.KeyChar<='9')&& e.KeyChar!= (char)8)
            {
                e.Handled=true;
            }
哪位大大 能给小弟翻译下上面那代码啥意思?
先谢谢了~~


是写在文本框的KeyPress事件里的 功能是只能输入数字 别的不让输入

但是看了半天 没看明白是怎么回事!求明白人给小弟解释下

#1


顺便问下 那个e.KeyChar == 32是什么意思?
为什么等于了32就不能输入空格了呢?
第一个到还能看明白
第二个就不明白了

#2


32 是 ASCLL 码

#3


在文本框失去焦点是进行检查如果有空格就重新输入

#4


那就在事件里再替换一下吧

private void textBox1_TextChanged(object sender, EventArgs e)
{
    textBox1.Text = textBox1.Text.Replace(" ", "");
}

#5


对提交文本框的内容进行过滤,有空格提示。

#6


3Q 不能输入空格倒是搞定鸟

请问下 文本框不能输入数字要怎么判断呢?

#7


引用 6 楼 zhaojun125 的回复:
请问下 文本框不能输入数字要怎么判断呢?


判断输入进来的ASC码 

#8


引用 6 楼 zhaojun125 的回复:
3Q 不能输入空格倒是搞定鸟

请问下 文本框不能输入数字要怎么判断呢?


if (e.KeyChar >= 48 && e.KeyChar <= 57)
{
    e.Handled = true;
}

#9


32 空格ASCII码
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if(e.KeyChar!='')
    {
        e.Handled = true;
    }
}

#10


引用 8 楼 lxcnn 的回复:
引用 6 楼 zhaojun125 的回复:
3Q 不能输入空格倒是搞定鸟

请问下 文本框不能输入数字要怎么判断呢?


C# codeif (e.KeyChar>=48&& e.KeyChar<=57)
{
    e.Handled=true;
}


谢谢这位大大啊~~

我搞晕了  是只能输入数字 而且可以输入运算符

不好意思 弄错了

#11



List<char> list = new List<char>(new char[]{'+', '-', '*', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'});
if (!list.Contains(e.KeyChar))
    e.Handled = true;
//或者
if (!Regex.IsMatch(e.KeyChar.ToString(), "[-+*/0-9]"))
    e.Handled = true;

#12


谢谢楼上的各位 小弟感激不尽

#13



            if (!(e.KeyChar >= '0' && e.KeyChar <= '9') && e.KeyChar != (char)8)
            {
                e.Handled = true;
            }

哪位大大 能给小弟翻译下上面那代码啥意思?
先谢谢了~~

#14


引用 13 楼 zhaojun125 的回复:
C# codeif (!(e.KeyChar>='0'&& e.KeyChar<='9')&& e.KeyChar!= (char)8)
            {
                e.Handled=true;
            }
哪位大大 能给小弟翻译下上面那代码啥意思?
先谢谢了~~


是写在文本框的KeyPress事件里的 功能是只能输入数字 别的不让输入

但是看了半天 没看明白是怎么回事!求明白人给小弟解释下