C#中,跨线程使用UI的时候,应当使用Invoke的方法,不然会抛出异常。
但问题时,前几次看别人的程序,直接在新线程中操纵UI也不抛出异常(断点调试的时候就会有),而且有的书上写的也是“并不是每次这么做都会抛出异常”。
这个该作何解释呢?
C#窗体程序中,为什么有时候直接跨线程使用控件也不会报错?
答案:2 悬赏:20 手机版
解决时间 2021-02-14 10:58
- 提问者网友:我是我
- 2021-02-13 16:09
最佳答案
- 五星知识达人网友:白昼之月
- 2021-02-13 16:54
直接跨线程使用控件 那是非线程安全,最好不用,尽量用委托吧
全部回答
- 1楼网友:忘川信使
- 2021-02-13 17:13
你在构造函数里加上这个: checkforillegalcrossthreadcalls = false; 这样可以关闭.net的控件夸线程访问检查。其实你这个错误只是在vs里调试的时候出现,如果你直接双击你编译后.exe程序来运行,会发现不会出现这个错误。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯