我创建了一个程序,它向cmd发送命令,从cmd获取输出并在带有颜色的richtextbox中显示它。 我写了这个函数:
System.Windows.Documents.TextRange rangeOfText =
new System.Windows.Documents.TextRange(this.Console.Document.ContentEnd,
this.Console.Document.ContentEnd)
{ Text = line + "\n" };
rangeOfText.ApplyPropertyValue(TextElement.ForegroundProperty, color);
this.Console是我的richtextbox。
问题是我从cmd获得了很多行,因此UI被大量阻止。 有没有比这更有效的东西?
答案 0 :(得分:0)
如果您在排序时间中运行了太多命令,那么您的UI肯定会卡住。您必须创建单独的线程来从文件中读取并更新RichTextBox。做这个。
1.克里特岛一个线程从文件中读取。放置间隔100ms。
2.一旦收到数据更新RichTextBox。您的新线程无法更新RichTextBOx,因此您必须使用delegate
来更新RTB。比如“richTetxbox1.Invoke
”