驾车的技巧
2009-03-07 15:58
148 查看
有两种方式解决
1.在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false;
2.使用Invoke等委托函数。
问题原因是。net2.0以后拒绝多线程访问空间,避免空间造成死锁。以前Control.CheckForIllegalCrossThreadCalls =false;默认就是这样,现在默认为true。
如果不会好几个线程同时操作一个控件用方法1就可以。如果存在多个线程一起操作控件使用方法2例如: this.progressBar1.Maximum = max;改为:this.setMaxProcess(_totalFrames);
1.在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false;
2.使用Invoke等委托函数。
问题原因是。net2.0以后拒绝多线程访问空间,避免空间造成死锁。以前Control.CheckForIllegalCrossThreadCalls =false;默认就是这样,现在默认为true。
如果不会好几个线程同时操作一个控件用方法1就可以。如果存在多个线程一起操作控件使用方法2例如: this.progressBar1.Maximum = max;改为:this.setMaxProcess(_totalFrames);
private delegate void MyDelegate(int maxnum); private void setMaxProcess(int max) { if (this.progressBar1.InvokeRequired) { MyDelegate del = new MyDelegate(setMaxProcess); this.Invoke(del, new object[] { max }); } else this.progressBar1.Maximum = max; }
相关文章推荐
- 驾车技巧
- 教你手动挡驾驶技术如何提高驾车技巧
- 新手上路注意事项及驾车技巧
- jxl实用技巧
- autoCAD制图技巧:[弹簧
- android studio 2.0 preview 使用技巧
- 奔五的人学iOS:swift对 状态栏、导航条若干技巧
- Java性能优化技巧集锦
- 10个保持注意力的技巧
- CSS技巧之圆角背景与三角形实现方法
- Shell 脚本调试技巧详解
- mybatis使用技巧
- eclipse使用技巧
- linux命令——命令行编辑(快捷键,技巧)
- Visual Studio调试之断点技巧篇
- java Enum使用技巧-effective java案例
- 关于Firefox的一些技巧
- 思科局域网交换机维护与配置应用技巧详解
- LAMP(Linux+Apache+Mysql+PHP)优化技巧
- 1、OP放大器应用技巧须知