为了账号安全,请及时绑定邮箱和手机立即绑定

禁止在文本框内容的末尾添加下划线“ _”

禁止在文本框内容的末尾添加下划线“ _”

C#
慕妹3242003 2021-05-07 18:17:51
我正在使用昵称(昵称)。用户注册时,必须输入相同的昵称,它不能包含符号(下划线除外),只能包含数字和字母。我为此使用用户名KeyPress事件TextBox:private bool Handled = false;private void Username_KeyPress(object sender, KeyPressEventArgs e){    if (Char.IsLetterOrDigit(e.KeyChar)) this.Handled = false;    else    {        if (e.KeyChar == '\b') this.Handled = false; //Backspace key        else        {           if (e.KeyChar == '_' && !((TextBox)sender).Text.Contains("_") && ((TextBox)sender).Text.Length > 0) this.Handled = false;            else this.Handled = true;        }    }    e.Handled = Handled;}这段代码可防止符号(与“ _”不同),内容以“ _”开头并使用了多个下划线“ H_E_L_L_O”,但它们需要防止在下划线使用结尾,我的意思是:允许:Hell_o预防:Hello_这可能吗?
查看完整描述

1 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

除非您能读懂用户的想法,否则您将无法执行此操作:)毕竟,用户可能希望Hell_o像您的示例中那样输入内容,但要键入他们首先需要输入“ Hell_”,这样您才能在此时停止输入。您可能要做的最好的事情是处理UserName控件上的“ Validating”事件。


private void UserName_Validating(object sender, CancelEventArgs e) {

    errorProvider1.SetError(UserName, "");

    if (UserName.Text.EndsWith("_")) {

        errorProvider1.SetError(UserName, "Stuff is wrong");

    }            

}

然后在“注册”按钮中单击或执行其他操作,检查该控件(或您关心的任何控件)是否错误。


查看完整回答
反对 回复 2021-05-23
  • 1 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信