我正在尝试通过TextChanged
同步两个RichTextBox的文本。不幸的是,当编辑大文本时,UI开始变慢(在250000个字符时已经明显冻结)。
下面是我的代码:
async void rtb1_TextChanged(object sender, EventArgs e)
{
await Task.Factory.StartNew(() =>
{
BeginInvoke(new Action(() =>
{
rtb2.Text = rtb1.Text;
}));
});
}
我预计第二个RichTextBox
中的文本将在编辑第一个文本后几毫秒后出现,而不会减速。
我指望你的支持。
1条答案
按热度按时间bkkx9g8r1#
BeginInvoke
调用UI线程上的操作,所以Task.Factory.StartNew
+BeginInvoke
的奋进什么也没有完成。当UI控件出现性能问题时,多线程处理不是解决方案。您必须解决停留在UI线程领域的问题。老实说,我不知道是否有一个解决你的问题。也许RichTextBox
控件根本无法有效地处理这么长的文本。