内容:由于vs2005中,如果你从非创建这个控件的线程中访问这个控件或者操作这个控件的话就会抛出这个异常。
现想在在调用的类中,想显示提示调用的进度,并相应的给函数执行步骤的提示信息显示到ListBox上。
一,设置
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
二,委托
在Form上,
private
string
_Info
=
""
;
public string Info
{
set
{
_Info = value;
ShowInfo();
}
get
{
return _Info;
}
}
private void ListMsg()
{
this .listBox1.Items.Insert( 0 , DateTime.Now.ToString() + InfoMessage);
}
public void ShowInfo()
{
MethodInvoker In = new MethodInvoker(ListMsg);
this .BeginInvoke(In);
}
public string Info
{
set
{
_Info = value;
ShowInfo();
}
get
{
return _Info;
}
}
private void ListMsg()
{
this .listBox1.Items.Insert( 0 , DateTime.Now.ToString() + InfoMessage);
}
public void ShowInfo()
{
MethodInvoker In = new MethodInvoker(ListMsg);
this .BeginInvoke(In);
}
在Class中,调用方式: Form.Info="提示信息";