使用controlName.InvokeRequired属性判断是否需要用代理。
private
void SetText(string
text)
{
if
(rtfLog.InvokeRequired)
{
SetTextCallback d =
new SetTextCallback(SetText);
this.Invoke(d,
new object[]
{ text
});
}
else
{
rtfLog.AppendText(text
+ Environment.NewLine);
}
}
这样,在线程函数中直接调用SetText("xxxx")即可。