我在form1上有这段代码
TimerMode f2 = new TimerMode();
f2.show();
现在我试图在某个时间点使用此代码,但没有任何反应? Cmd =关闭
public void DoActions(string Cmd)
{
switch(Cmd){
case"Open":
TimerMode f2 = new TimerMode();
f2.show()
break;
case"Closing":
f2.Close();
break;
}
}
你知道为什么不关闭吗?。
我真的希望它关闭它。
在vb6中我用这个
unload form2
答案 0 :(得分:2)
最有可能是线程问题。试试这个:
f2.Invoke((MethodInvoker)(() => f2.Close()));
如果不起作用,请使用以下修改:
public TimerMode f2 = new TimerMode();
public void DoActions(string Cmd)
{
switch(Cmd){
case"Open":
f2.show()
break;
case"Closing":
f2.Close();
break;
}
}
答案 1 :(得分:0)
我花了好几个小时想知道为什么我的表格不会关闭。事实证明,我忘了检查
下的所有内容调试 - >例外
所以其中一个事件处理程序默默地抛出一个NullPointerException,否则会被Framework捕获。我想将事件参数的Cancel属性设置为true并将其设置为false,之后显然没有做到这一点(当我修复NullPointer时,一切都恢复正常。)。