3

我在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
4

2 回答 2

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;
  }
}
于 2011-05-16T09:14:20.060 回答
0

我只是花了几个小时想知道为什么我的表格不会关闭。原来,我忘了检查下面的所有内容

调试->异常

因此,其中一个事件处理程序默默地抛出了一个 NullPointerException,否则会被框架捕获。我猜想将事件参数的 Cancel 属性设置为 true 并在之后将其设置为 false 显然不能解决问题(当我修复 NullPointer 时,一切都恢复正常了。)。

于 2015-11-29T17:21:13.283 回答