c# winform文本框多行输出结果?

我用for循环要输出大概1000+结果到textbox中。怎样才能for循环得出一个结果就输出一行到textbox,直至所有结果输出完毕
最新回答
这个世界该死

2024-10-16 08:16:45

你在for循环里加上
textbox.Text += Environment.NewLine + 你的内容
就可以了
不过如果你的每一次循环都很耗时,
UI界面
可能会卡死,如果是这样,建议你在for循环里异步进行你的工作,返回UI线程更新textbox.Text
注意TextBox的Multiline属性要设为true
追问
不是指定的内容。就假设一批数据:1、2、3、4...、5000,通过for循环得到2、4、6、8...、10000。像cmd那样的,每处理完一个数据,就将结果同步显示出来
追答
private void Form1_Load(object sender, EventArgs e)
{
for (int i = 0; i < 5000; i++)
{
textBox1.AppendText(i*2 + Environment.NewLine);
}
}
追问
哈 谢啦 就是这个
倾城佳人

2024-10-16 12:59:37

我在网上看到很多这样的问题了,比如 1+到100 要看到 动态变化 结果 直接就是 1 卡主 到100 没有变化过程,其中根本原因是 在一个事件里 写了个 循环 你的循环 没执行玩 ui线程一直被占用 不会刷新,所以加个 Application.DoEvents(); 让他刷新就行了
守护在此方

2024-10-16 19:52:52

你想要看到“一行一行输出”的效果,就别用for循环。
干脆用timer,每0.5秒输出一行得了。
追问
我主要是用for循环结合其他函数将一批数据进行转换,不仅仅是看那个效果
薰衣草香

2024-10-16 18:42:50

你现在的代码是什么样子呢 运行效果?
如果是没刷新 就在循环里强制.refresh