You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁止在TextBox中输入下划线?

解决TextBox禁止输入下划线的问题

你的代码失效的核心原因是char.IsSymbol('_')的判断不成立——下划线在.NET的字符分类中不属于符号(Symbol),而是属于连接符标点(Punctuation, Connector),所以这个条件永远不会触发。

最简单可靠的修正方式是直接判断输入的字符是否为下划线本身:

private void CoupontextBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == '_')
    {
        e.Handled = true;
    }
}

如果你想通过字符分类规则来处理,也可以用char.IsPunctuation配合精准匹配:

private void CoupontextBox_KeyPress(object sender, KeyPressEventArgs e)
{
    if (char.IsPunctuation(e.KeyChar) && e.KeyChar == '_')
    {
        e.Handled = true;
    }
}

前者逻辑更直接,避免了字符分类规则带来的歧义,推荐使用。

内容的提问来源于stack exchange,提问作者user19064227

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:54:32