【发布时间】:2011-08-23 13:08:32
【问题描述】:
在其他类的 Richtextbox 上操作时遇到问题
m 使用 backgroundworker 类将 GUI 线程与计算线程分开
这是我需要从其他类调用的函数
public void UpdateRTB(String strText, Color colVar)
{
if (InputBox.InvokeRequired)
{
InputBox.Invoke(new UpdateRTBCallback(this.UpdateRTB), new object[] { strText, colVar });
}
else
{
InputBox.Select(InputBox.Text.IndexOf(strText), strText.Length);
InputBox.SelectionColor = colVar;
InputBox.Update();
}
}
变量objForm1是表单初始化后声明的变量为
objForm1 = this;
返回表单的函数是
public static Form1 GetThisForm()
{
return objForm1;
}
这是我全局声明的委托
public delegate void UpdateRTBCallback(String strText, Color strColor);
这是m写在另一个类中调用它的代码
Form1 form1 = Form1.GetThisForm();
form1.UpdateRTB(item, Color.Yellow);
在 objForm1 中,当我调试时,我看到它的字段显示 System.InvalidOperationException.. 这是我做错了什么的问题 请帮忙!!!
【问题讨论】:
-
@msirwani : 7 个问题已选择 0 个答案。希望您知道 stackOverflow 为您提供了选择答案的功能。
-
我也有类似的问题...有什么建议吗?
标签: c# winforms multithreading