我知道这里曾经问过类似的问题,但是我找不到一个解释如何在用户在文本框中输入字符串时进行此LIVE的问题。这与C#中的Windows窗体应用有关。
这是我当前的代码:
for (int i = 4; i <= input.Length; i += 4)
{
input = input.Insert(i, " ");
i++;
}
这不起作用,因为它会在每次按键后继续添加空格。我在单向按键上运行了这个for循环。
答案 0 :(得分:0)
这是我想到的解决方案,我认为如果您改编“控制台”。窗口窗体中的东西,它将起作用。
string text = string.Empty;
for (int i = 0; i < 50; i++) //Change 50 for whatever size you want
{
switch (i % 5) //every time 'i' is a multiple of 5 it will write a blank space
{
default:
text += Console.ReadKey().KeyChar;
break;
case 0:
Console.Write(" ");
break;
}
}
答案 1 :(得分:0)
好吧,我知道了。对于以后几年浏览此线程的任何人,这是我所做的:
if (input.Replace(" ", String.Empty).Length % 4 == 0 && input[input.Length - 1] != ' ')
{
input += ' ';
}
这会在需要的地方添加空格,并确保不会导致添加空格和触发TextChanged事件的无限循环。