for(int a=0;a<10;a++)
{
txtblck =txtblk+ a.ToString();
}
在此,txtbox显示最后的所有文本。 我想逐一展示文字。
答案 0 :(得分:4)
你可以试试这个
for (int a = 0; a < 10; a++)
{
txtblck.Text = txtblck.Text + a.ToString();
Application.DoEvents();
System.Threading.Thread.Sleep(1000);
}
答案 1 :(得分:2)
这种情况正在发生,因为for
循环运行速度太快,以至于您实际上无法看到TextBox
更改的文本。使用System.Threading.Thread.Sleep方法暂停循环一段时间,以便观察文本更改:
for(int a = 0; a < 10; a++)
{
txtblck =txtblk + a.ToString();
System.Threading.Thread.Sleep(1000);
}
答案 2 :(得分:0)
尝试这样的事情:(我假设您使用的是WPF,但任何计时器都会这样做)
System.Windows.Threading.DispatcherTimer timer;
int a, count;
void start() {
timer = new System.Windows.Threading.DispatcherTimer();
a = 0;
count = 10;
timer.Tick += timer_Tick;
timer.Interval = new TimeSpan(0, 0, 1);
timer.Start();
}
void timer_Tick(object sender, EventArgs e) {
updateString();
}
void updateString() {
if (a < count) {
txtblck.Text += a.toString();
a++;
}
else {
timer.Stop();
}
}