for(i=1;i<=9;i++){textbox1.Text="1"+i.ToString()+"="+ans};
这样肯定不行的。
for循环运行时间很短,并且是连续运行的,没有停顿。看你for循环执行的代码逻辑,如果在毫秒级完成,人都来不及观察,那么用文本框显示过程也没有意义
那么只能是降低for循环的运行速度,比如可以增加定时器,每秒运行for循环的代码逻辑一次,将运行结果显示到文本框
因此建议的方法是:将for循环的代码逻辑封装成一个函数。设定每秒执行一次的定时器,在定时器中进行计数,如果计数器值小于等于9,则执行封装的函数。
封装的函数可以有参数,定时器调用时将计数值传递给函数,如果函数需要上述for循环变量i值的话。然后可以返回字符串,定时器处理代码将返回的字符串设置到文本框进行显示。
设置文本框为多行,如下:
创建一个StringBuilder
实例,用于存放循环的字符串:
private void Form1_Load(object sender, EventArgs e)
{
var sb = new StringBuilder();
var ans = "不知道你的ans是什么";
for (var i = 1; i <= 9; i++)
{
sb.AppendLine("1" + i.ToString() + "=" + ans);
}
textBox1.Text = sb.ToString();
}
运行效果: