starszhao 发表于 2012-4-24 14:08:35

多线程下VB.net中怎么使用SelectOnScreen

   
   多线程下VB.net中怎么使用SelectOnScreen???
    我在用vb.net中调用了CAD窗体,以便可以通过代码进行对CAD图的读取,测量线段长度,及面积。
    问题来了,在默认的情况<STAThread()> 单线程 的模式下,程序运行很正常。可以通过   sset.SelectOnScreen(FilterType, FilterData)进行CAD选择集的操作。
   但是在<MTAThread()> 多线程模式下,sset.SelectOnScreen(FilterType, FilterData)处于等待输入信息的“死机”状态。我也曾试着用      '加载CAD窗体
            'Dim t1 As New Thread(AddressOf invokeShow)
            't1.SetApartmentState(Threading.ApartmentState.STA)
            't1.Start()
在多线程模式下,再运行一下新的单线程的这个加载CAD的窗口,问题还是依旧。。。。。。
      不知道这是为何??
      恳请高手为我解答一二,在此万分感谢!!

caohuhhhh 发表于 2012-4-24 15:14:03

不知道这个消息是不是真的饿。。。。

caohuhhhh 发表于 2012-4-24 16:00:32

贴?偶潜水网络bbs多年,自以为贴在人外,何肖评说,岂可妄动情谊呼!未曾想到今日竟有如此好贴%D

starszhao 发表于 2012-4-28 20:39:49

经过两天前的一个偶然,我突然把上面的问题解决了,在此把方法写出来,以便有同类的问题可以得到解决:    'Dim t1 As New Thread(AddressOf   提取文本方法())
            't1.SetApartmentState(Threading.ApartmentState.STA)
            't1.Start()

以前我是对整个窗体进行多线程加载,所以才导致了问题的依旧存在 。正确的方法应该是对进行“提取文本方法()”进行多线程加载!!
页: [1]
查看完整版本: 多线程下VB.net中怎么使用SelectOnScreen