0

ダイアログとして別のフォームを開くフォームがあります

form.ShowDialog()

しかし、新しいダイアログがフォーカスを失うことによって引き起こされていると思われる問題があります。

元のフォームがそのまま残り、新しいダイアログが開かない場合があります。

ボタンを介して新しいダイアログを開こうとして、新しいダイアログが開く前に、最初のフォームのどこかをもう一度押した可能性があると思います。初期フォームにフォーカスを移すことは、新しいダイアログを重ねるだけなのでしょうか?

これを確認する方法がわかりません。常に発生するとは限りません。

4

1 に答える 1

1

ボタンを使って新しいダイアログを開こうとして、新しいダイアログが開く前に、最初のフォームのどこかをもう一度押したのかもしれません。

次のようなものを試してください。

private void button1_Click(object sender, EventArgs e)
{
  button1.Enabled = false;
  using (Form2 form = new Form2())
  {
    form.ShowDialog();
  }
  button1.Enabled = true;
}

これにより、ボタンが2回クリックされるのを防ぐことができます。

于 2013-01-30T15:03:29.480 に答える