我想在文本框中多次显示内容。例如,如果您使用此代码并将richtextbox替换为messagebox,它将继续显示文本,直到循环结束。我想将文本从textBox1显示到richTextBox1,然后让程序按Enter键,然后在richtextbox中再次键入它。这有点令人困惑抱歉,但如果你有任何问题只是评论他们,我会更清楚。这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
Clipboard.SetText(textBox1.Text);
int text = 0;
int end = int.Parse(textBox2.Text);
while (text<=end)
{
richTextBox1.Text=(Clipboard.GetText());
text++;
}
提前致谢!
答案 0 :(得分:3)
在您的代码中,您有:
richTextBox1.Text=(Clipboard.GetText());
你的代码不工作的原因是因为在每个循环中,你将文本设置为剪贴板上的任何内容,所以在循环结束时它只会在那里有一次。您需要“追加”或添加到文本的末尾,以便多次使用它:
richTextBox1.Text += richTextBox1.Text + (Clipboard.GetText());
或者:
richTextBox1.Text += (Clipboard.GetText());
这会将剪贴板文本添加到RichTextBox的末尾,因此您将多次使用相同的文本,但所有文本都在同一行。如果要使文本显示在多行上,则必须在附加文本后添加新行:
richTextBox1.Text += (Clipboard.GetText())+"\r\n";
或者:
richTextBox1.Text += (Clipboard.GetText())+Enviroment.NewLine;
希望这有帮助!
答案 1 :(得分:0)
使用Timer而不是使用循环并将其间隔时间保持为2秒。并在按钮上单击启动计时器并将结束声明为类变量,当满足“end”变量的条件时,停止计时器。
private void button1_Click(object sender, EventArgs e)
{
end = int.Parse( textBox2.Text);
timer1.Start();
}
private int end = 0;
private int start = 0;
private void timer1_Tick(object sender, EventArgs e)
{
if (start == end)
{
timer1.Stop();
}
else
{
start++;
textBox1.Text = start.ToString();
}
}