可能重复:
跨线程操作无效:控件从创建它的线程以外的线程访问
下面是我编写的一个方法,它尝试从 RichTextControl 获取文本并返回它。
/** @delegate */
private delegate string RichTextBoxObtainContentsEventHandler();
private string ObtainContentsRichTextBox()
{
if (richtxtStatus.InvokeRequired)
{
// this means we're on the wrong thread!
// use BeginInvoke or Invoke to call back on the
// correct thread.
richtxtStatus.Invoke(
new RichTextBoxObtainContentsEventHandler(ObtainContentsRichTextBox)
);
return richtxtStatus.Text.ToString();
}
else
{
return richtxtStatus.Text.ToString();
}
}
但是,当我尝试运行此程序时,出现以下异常: 跨线程操作无效:控件'richtxtStatus' 从创建它的线程以外的线程访问。
如何修改上述代码以允许我返回内容?