我引进来一些第三方的组件,但某组件的doubleclick事件中,如果我要new 一个用c#写的窗体,是没反应的,而消息框可以出来,如下:MessageBox.Show("123");//正常
StyleSelector ss1 = new StyleSelector(2);
if(ss1.ShowDialog() == DialogResult.OK)//为什么出不来窗体??
{
if(ss1.getSymbol()!=null)
lSymbol = (ISymbol)ss1.getSymbol();
}请问这种情况如何解决?
StyleSelector ss1 = new StyleSelector(2);
if(ss1.ShowDialog() == DialogResult.OK)//为什么出不来窗体??
{
if(ss1.getSymbol()!=null)
lSymbol = (ISymbol)ss1.getSymbol();
}请问这种情况如何解决?
StyleSelector ss1 = new StyleSelector(2);
ss1.ShowDialog();
if(ss1.DialogResult == DialogResult.OK)//为什么出不来窗体??
{
if(ss1.getSymbol()!=null)
lSymbol = (ISymbol)ss1.getSymbol();
}
{
System.EventArgs e = new MyEventArgs("123");
object[] pList = { this, e };
//IAsyncResult fsd =
BeginInvoke(new MyProgressEventsHandler(UpdateUI), pList);
} private delegate void MyProgressEventsHandler(object sender, MyEventArgs e);
private void UpdateUI(object sender, MyEventArgs e)
{
StyleSelector ssT = new StyleSelector(2);
if(ssT.ShowDialog() == DialogResult.OK)
{
pReturnedSymbol = (ISymbol)ssT.getSymbol();
//MessageBox.Show(pSymbol.ToString());
}
}然后我这样调用: MethodInvoker mi = new MethodInvoker(ShowStyleform);
mi.BeginInvoke(null, null);
//怎么会返回空呢?
if(pReturnedSymbol != null)pReturnedSymbol总是空。而UpdateUI里的pReturnedSymbol不是null请问应该怎么利用返回值?
mi.BeginInvoke(null, null);在委托里返回的全局变量pReturnedSymbol = (ISymbol)ssT.getSymbol();,这是有值的 执行MethodInvoker后,我在组件的事件里继续判断:if(pReturnedSymbol != null),这里是null我不知道哪里出了问题。是不是因为pReturnedSymbol自身也是个com对象?这种情况该如何处理?