C# - 从keydown上的字符串中删除最后一个字符

时间:2014-08-06 13:03:38

标签: c#

如果按下后退键,我现在正在使用它删除字符串的最后一个字符,但是如果我按住键就不能从字符串中删除字符,而其余的条件工作正常添加字符串的字符。我认为删除功能在某种循环中效果不佳。

if (key == Keys.Back)
{
    if (text.Length > 0)
    {
        text.Remove(text.Length - 1);
    }
}

更新:我认为它是在按键时删除字符,但是它没有。感谢您回答这个愚蠢的错误。

4 个答案:

答案 0 :(得分:3)

Remove方法不会修改text。它会返回一个新字符串,如果您想操纵textBox变量,则需要将其分配回text(或text):

textBox1.Text = text.Remove(text.Length - 1);

答案 1 :(得分:2)

stringsimmutable ,因此方法Remove会返回一个新字符串。它不会修改现有的字符串。要查看更改,请将结果分配回text变量。

text = text.Remove(text.Length - 1);

答案 2 :(得分:1)

它正在工作,替换为:

text = text.Remove(text.Length - 1);

答案 3 :(得分:0)

也许我也得到了像其他人一样发布相同答案的upvote -.-

text = text.Remove(text.Length - 1);