2011-01-26 12 views
-1

メッセージボックスを持つWinformsアプリケーションがあります。ユーザーが[Generate Report]ボタンをクリックすると、メッセージボックスに表示されるYesNoというオプションがオプションとして表示されます。C#でのダイアログボックスの操作

ユーザーが何をクリックしても、はいまたはいいえかどうかにかかわらず、私はレポートを生成したくありません。

しかし、私は、レポートを生成するために、生成ボタンを再度クリックする必要があります。

これをC#とWinformsでどうやって行うのですか?

+1

だから、まさに質問は何ですか?あなたはそれをするべきかどうか?またはそれを行う方法? – Brandon

+0

私が正しいかどうか教えてください:ユーザーがGenerateを初めてクリックすると、Yes/No MessageBoxが表示され、結果は破棄され、レポートは生成されません。ユーザーがGenerate(MessageBoxを終了した後)を2回クリックすると、レポートが生成されます。 – adamjford

+1

メッセージボックスの目的は何ですか?なぜあなたはそれを捨てないのですか? –

答えて

2

あなたはブール値のフラグを使用することができます。

private bool _isClicked = false; 

public void Button1_OnClick(object sender, EventArgs e) 
{ 
    if(!_isClicked) 
    { 
     // do show the message box here 
     _isClicked = true; 
     return; 
    } 

    //generate the report here 
    _isClicked = false; 
} 
1

フラグをアプリケーションに格納するだけで、ボタンで実際にレポートを生成する場合はtrueに設定します。ユーザーがボタンをクリックすると、フラグがチェックされ、フラグが設定されていない場合はMessageBoxが表示され、応答に基づいてフラグが設定されます。フラグが設定されている場合は、レポートを生成します。