读书人

一个与com对象交互的难题

发布时间: 2011-12-30 23:30:45 作者: rapoo

一个与com对象交互的难题,在线等
我引进来一些第三方的组件,但某组件的doubleclick事件中,如果我要new 一个用c#写的窗体,是没反应的,而消息框可以出来,如下:

MessageBox.Show( "123 ");//正常
StyleSelector ss1 = new StyleSelector(2);
if(ss1.ShowDialog() == DialogResult.OK)//为什么出不来窗体??
{
if(ss1.getSymbol()!=null)
lSymbol = (ISymbol)ss1.getSymbol();
}

请问这种情况如何解决?

[解决办法]
不要直接show

try
BeginInvoke
[解决办法]
这样,因为BeginInvoke是立即返回,则如果你Invoke的方法执行耗时,在你判断if(pReturnedSymbol != null)的时候还没执行完。

读书人网 >C#

热点推荐