.net2003和.net2005中 线程的不兼容问题 我编写了一个打字程序,用Microsoft Visual Studio 2005编辑器做的,是用线程控制的,在.net2003中能成功运行,但是.net2005中出现错误,提示我不能跨线程调用,请问高手是怎么回事,如何处理?谢谢. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果在构造函数中将checkfor....(具体什么我也忘了)设置为false,那么就和vs2003一样了...在2005中,一般都用委托来实现线程间调用,具体怎么用可以查下相关资料... if (aa.InvokeRequired) { aa.Invoke(insertCardEventHandler, pList); } else { }先抛到执行线程,然后返回 再详细一点:第一:在构造函数中加上这样一句话:CheckForIllegalCrossThreadCalls = false;加上这句话后,线程的处理就同vs2003完全一样了,即允许线程间相互调用第二:利用委托代理来实现:举个很简单的例子,比如我想在线程中对窗体中的textbox进行更新,可以这样来实现,如下: //定义一个代理 public delegate void MyInvoke(string str); //更新界面的方法 private void UpdateTextBox(string str) { textBox1.Text +=str; } //在线程回调函数里需要更新界面的地方,这样操作: ..... MyInvoke mi = new MyInvoke(UpdateTextBox); this.BeginInvoke(mi, new object[] { "i" }); ..... this.invoke((methodinvoker)delegate {this.label1.text="...";}); 关于int类型转换为string类型的问题,有赋值却提示未赋值 用winform写了一个获取远程的xml文件,怎样读取出来? Source Safe源码管理的问题 Double和Decimal数据类型,你平时用哪个 代码为什么会报错呢。。谁能给解释一下。单例设计模式怎么写。 HttpWebResponse 中cookie传递问 关于Invoke?线程问题!哪位比较了解,请帮忙看看。 有没有合并word文档的方法,但是不调用Microsoft.Office.Interop.Word 求助! 多线程以及网络 数据库插入问题,大家帮忙看看 关于用友华表中如何连接数据库的值的问题
{
aa.Invoke(insertCardEventHandler, pList);
}
else
{ }先抛到执行线程,然后返回
CheckForIllegalCrossThreadCalls = false;
加上这句话后,线程的处理就同vs2003完全一样了,即允许线程间相互调用第二:利用委托代理来实现:
举个很简单的例子,比如我想在线程中对窗体中的textbox进行更新,可以这样来实现,如下: //定义一个代理
public delegate void MyInvoke(string str);
//更新界面的方法
private void UpdateTextBox(string str)
{
textBox1.Text +=str;
} //在线程回调函数里需要更新界面的地方,这样操作:
.....
MyInvoke mi = new MyInvoke(UpdateTextBox);
this.BeginInvoke(mi, new object[] { "i" });
.....