最近在用VS2005来写一个Socket的多线程服务程序!
用户连接以后,需要把用户的IP和用户ID记录到一个ListBox控件去!
我的做法是在监听的线程里,判断如果有有效的连接,就把这个用户信息加到
ListBox控件! 开始一有用户连接,就报告错误: 从不是创建控件XXX的线程访问的异常.
看了不少文章,不少介绍用委托方式解决的,用控件的invoke方法调用控件方法,控制
控件的操作!最后看到这个最省事的办法,在类的构造函数里面加上以下语句:
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
问题搞定! 我的思路就是小问题,就要用最简单的办法解决!都用复杂方法,系统
就没法用了(出错概率大几倍捏)!