3

私はフォーム1にこのコードを持っています

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 に答える