c#文本框数字校验,不能输入重复值判断

本文介绍了如何在C#中实现文本框的数字校验,确保输入的仅是数字并排除退格键。同时,还展示了如何进行不能输入重复值的判断,利用`IndexOf`方法检查待输入字符是否已存在于文本框中,从而避免重复输入。
摘要由CSDN通过智能技术生成

文本框数字校验:

创建文本框事件keypress:

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char .IsNumber (e .KeyChar )&& e .KeyChar !=(char )8)   //如果输入的不是数字并且输入的按键不是char8(退格键)
            {
                e.Handled =true ;                                                            //Handled是过去式,看字面意思:操作过的=是.将这个操作的状态设为已处理过,自然就不会再处理了.
            }
        }

 

 

不能输入重复值判断:

例如文本框里输入abc,再输入a或者b或者c都不可以

        private void tbx_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (tbx.Text.IndexOf(e.KeyChar) >= 0)
            {
                e.Handled = true;
            }
        }

利用了检索函数 indexof(),这个函数可以判断再输入的值在当前文本框是否有过,有过就返回和输入值相同项在文本框中的位置,没有过就返回-1

例如 已输入了abc

再输入d -------tbx.Text.IndexOf(e.KeyChar)  的值为-1

再输入a -------tbx.Text.IndexOf(e.KeyChar)  的值为0

再输入b -------tbx.Text.IndexOf(e.KeyChar)  的值为1

再输入c -------tbx.Text.IndexOf(e.KeyChar)  的值为2

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值