C#在textbox中只能输入一次逗号怎么写

在textbox中只能输入一次逗号怎么写
用keypress解决

你可以在keypress事件中判断文本框的值,如果不符合你的要求(可以正则匹配或者其他方式验证),那么你可以用一个全局string替换掉当前的内容,反之将文本框的值保存到全局string

  • 请看👉 :C# textBox限制输入为数字
  • 除此之外, 这篇博客: C# TextBox输入数字 TextBox输入限制 TextBox输入字符 KeyPress中的 C# TextBox的限制输入的方法 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    1. 选择TextBox控件
    2. 右键选择属性,左键点击右侧"闪电"状图标
    3. 查找到 "KeyPress"字样,右侧双击空白处或者输入自己喜欢的函数名
      在这里插入图片描述
      转到代码区域输入:
    if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != 45)
        e.Handled = true;
    //用这句话,可以查看所有的按键数值
    Console.WriteLine("按键<{0}>KeyChar数值:{1}", e.KeyChar,(int)e.KeyChar);
    

    配上 部分KeyChar数值;其他的如果关心,可以通过上面的方法查看

    按键<退格键>KeyChar数值:8
    按键<删除键>KeyChar数值:NULL
    按键<回车>KeyChar数值:13
    
    //数字
    按键<0>KeyChar数值:48
    按键<1>KeyChar数值:49
    按键<2>KeyChar数值:50
    按键<3>KeyChar数值:51
    按键<4>KeyChar数值:52
    按键<5>KeyChar数值:53
    按键<6>KeyChar数值:54
    按键<7>KeyChar数值:55
    按键<8>KeyChar数值:56
    按键<9>KeyChar数值:57
    按键<.>KeyChar数值:46
    
    //小写
    按键<a>KeyChar数值:97
    按键<b>KeyChar数值:98
    按键<c>KeyChar数值:99
    ......
    按键<x>KeyChar数值:120
    按键<y>KeyChar数值:121
    按键<z>KeyChar数值:122
    
    //大写
    按键<A>KeyChar数值:65
    按键<B>KeyChar数值:66
    按键<C>KeyChar数值:67
    ......
    按键<X>KeyChar数值:88
    按键<Y>KeyChar数值:89
    按键<Z>KeyChar数值:90
    
    //仅允许输入16进制的字符
    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        //32 Space,8 Back,13 Enter,20 Capital,46 Delete,16 ShiftKey
        if ((e.KeyChar >= 'a' && e.KeyChar <= 'f')
            || (e.KeyChar >= 'A' && e.KeyChar <= 'F')
            || (e.KeyChar >= '0' && e.KeyChar <= '9')
            || e.KeyChar == 32 || e.KeyChar == 8 || e.KeyChar == 16)
        {
            e.Handled = false;//允许字符键入
        }
        else
        {
            e.Handled = true;//阻拦字符键入
        }
    }