检查哪些字符已“退格”

时间:2014-01-11 17:49:48

标签: c# winforms

如何确定已退格的角色,然后播放以下条件:

  • 如果退格的字符在“。”之后。然后count=0
  • 如果退格的字符是“。”然后dotControl=falsecount=0

以下代码:

    private void RemoveLast(TextBox tb)
    {
        if (tb.Text.Length > 0)
        {
            tb.Text = tb.Text.Remove(tb.Text.Length - 1, 1);
        }
    }

    private void btnback_Click(object sender, EventArgs e)
    {
        if (remainTxt.BackColor == Color.FromArgb(245, 244, 162))
        {
            RemoveLast(remainTxt);
        }
        else if (totalTxt.BackColor == Color.FromArgb(245, 244, 162))
        {
            RemoveLast(totalTxt);
        }
        else if (paidTxt.BackColor == Color.FromArgb(245, 244, 162))
        {
            RemoveLast(paidTxt);
        }
    }

1 个答案:

答案 0 :(得分:2)

if (tb.Text.Length > 0)
{
   if(char.IsDigit(tb.Text[tb.Text.Length - 1]) count = 0;
   else 
   { 
       dotControl = false;
       count = 0;
   }
    tb.Text = tb.Text.Remove(tb.Text.Length - 1, 1);
}

顺便说一下,第二个count = 0(在else语句中)是多余的,我猜,用户可以在点后输入一个数字,所以如果他点击后退并删除一位数就会为零。