有没有办法将文本附加到列表框的最后一行?我希望列表看起来像这样:
processing file 1... OK
processing file 2... CRC error
processing file 3... OK
当我打开文件进行处理时,我会用 ListBox.Add("processing file x") 编写“processing file x”。完成处理后,在继续下一个文件之前,我想附加处理结果。
我可以等到处理完成,然后一次写入整行,但处理一个文件可能需要 10-15 秒,这会使 UI 看起来没有响应。
一个解决方案还可以让我附加文本(如完成百分比)或其他内容以使 UI 在处理时更加活跃。如果可能的话,我更喜欢使用 ListBox 来执行此操作,因为它具有滚动和行选择属性。
我还没有找到任何方法来做到这一点;欢迎任何想法。
最佳答案
可以直接在列表框中添加项目
listBox1.Items.Add("new item");
你可能需要刷新它
listBox1.Refresh();
编辑:
如果你想更新最后一项,你需要删除最后一项,然后重新添加
var lastItem= listBox1.Items[listBox1.Items.Count-1];
lastItem += results;
listBox1.Items.RemoveAt(listBox1.Items.Count-1);
listBox1.Add(lastItem);
关于c# - 将文本附加到列表框中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37170596/