0

私のアプリケーションでは、次の問題が発生しました。特定のダイアログフォームは、描画される前に操作できます。

コードは次のようになります。

void FunctionCalledFromButtonPressHandler()
{
    var f = new MyDialog();
    if (f.ShowDialog() == DialogResult.OK)
    {
    //do things
    }
}

開始フォームとダイアログフォーム(ボタンを失うボタン)のボタンは、タッチスクリーン上で互いに重なり合っています。placを2回クリックすると、ダイアログフォームの読み込みに対応する一時停止があり、表示されずに開始フォームのwotkが続行されます/

このような動作を防ぐにはどうすればよいですか(つまり、ダイアログの読み込みの遅延を取り除くことは別として)?

4

1 に答える 1

0

'Button.Enabled = false;' を設定します。起動メソッド内の開始フォーム。

void FunctionCalledFromButtonPressHandler()
{
    YOURBUTTON.Enabled = false;
    var f = new MyDialog();
    if (f.ShowDialog() == DialogResult.OK)
    {
    //do things
    }
    YOURBUTTON.Enabled = true;
}

次に、ダイアログフォームButton.Enabled = false;で、フォームコンストラクターでもう一方を設定します。Shown次に、次のようにイベントでボタンを有効に設定できます。

void MyDialog_Shown(object sender, EventArgs e)
{
    OTHERBUTTON.Enabled = true;
}
于 2013-01-11T16:01:00.783 に答える