我在form1上有这个代码

TimerMode f2 = new TimerMode();
f2.show();

现在我正尝试在某个时间点使用此代码,但没有任何 react ?
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

最佳答案

很可能是线程问题。试试这个:

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;
  }
}

关于C#关闭另一个表单问题,Close();不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6014977/

10-15 11:10