有没有办法将文本追加到ListBox的最后一行?我希望列表看起来像这样:
processing file 1... OK
processing file 2... CRC error
processing file 3... OK
当我打开文件进行处理时,我会用ListBox.Add(“处理文件x”)写“处理文件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);