c# 在textbox中每输入两个字符,中间加一个字符

 private void textBox1_TextChanged(object sender, EventArgs e)//在textbox中每输入两个字符,中间加一个"-"
        {
            TextBox t = (TextBox)sender;//定义t为文本框本身
            StringBuilder sb = new StringBuilder();//sb为可变字符串
            int Selection = t.SelectionStart;//整型,选定的文本起始点
            char s = '-';//需要加入的字符



            string str = t.Text.Replace(s.ToString(), "");//用空格替换掉"-"
            for (int i = 1; i <= str.Length; i++)
            {
                sb.Append(str[i - 1]);//末尾加入前一个字符
                if ((i != 0 && i % 2 == 0))//i不为零且为偶数时
                {
                    if (i == str.Length) continue;//i为结尾时退出循环,到比较条件
                    sb.Append(s);//添加"-"
                    Selection++;//选定的文本起始点加1
                }
            }
            Selection = Selection - t.Text.Split(s).Length + 1;//选定的文本起如点,光标移到最后
            t.Text = sb.ToString();//文本框的字符串改为sb
            t.SelectionStart = Selection < 0 ? 0 : Selection;//如果选定的文本起始点小于0,则为0,否则的话为选定的文本起始点

        }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

qq_23165839

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值