C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: クリックイベントを中止するには?


(過去ログ 33 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■16241 / inTopicNo.1)  クリックイベントを中止するには?
  
□投稿者/ 花粉症 (1回)-(2008/04/01(Tue) 13:48:52)

分類:[C#] 

こんにちわ。
C#である計算処理を作っています。
下記内容でボタンをクリックしたときの処理で、
条件を満たしていない場合、処理を中止して、クリックする前に戻したいのですが、
下記のような記述では引っ掛けた処理以降も続行している気がするのですが、
どこが不具合なのでしょうか?

private void btn計算開始_Click(object sender, EventArgs e)
{

    //ユーザー入力値に漏れがないかを確認する。
    入力チェック処理1();
            
  入力チェック処理2();

}

//入力チェック処理
public void 入力チェック処理1()
{
  if (this.txt素材全長.Text == "")
    {
        MessageBox.Show("素材全長が入力されていません。図面寸法を確認の上、素材の全長を入力してください。", "エラー",
                         MessageBoxButtons.OK, MessageBoxIcon.Error);
        return;
  }
}

入力チェック処理1でTextBoxに値が入力されていない場合は、処理をストップし、ユーザーの入力を待つようにしたいのですが
「return」では駄目なのでしょうか?




引用返信 編集キー/
■16242 / inTopicNo.2)  Re[1]: クリックイベントを中止するには?
□投稿者/ まどか (499回)-(2008/04/01(Tue) 13:57:01)
Returnはその「プロシージャ」を抜けるだけです。
「Clickからも」抜けてください。
引用返信 編集キー/
■16243 / inTopicNo.3)  Re[1]: クリックイベントを中止するには?
□投稿者/ επιστημη (913回)-(2008/04/01(Tue) 13:59:01)
επιστημη さんの Web サイト
> 条件を満たしていない場合、処理を中止して、クリックする前に戻したいのですが、
> 下記のような記述では引っ掛けた処理以降も続行している気がするのですが、
> どこが不具合なのでしょうか?

条件を満たしていたらどうなりますか? どっちみち return するでしょ。
だったら条件を満たそうが満たすまいが同じ動きするっきゃないですね。

> 入力チェック処理1でTextBoxに値が入力されていない場合は、処理をストップし、
> ユーザーの入力を待つようにしたいのですが

private void btn計算開始_Click(object sender, EventArgs e) {
   //ユーザー入力値に漏れがないかを確認する。
  if ( 入力チェック処理1() == false ) {
    「ダメぢゃん!」って書く。
    return ;
  }
           
  if ( 入力チェック処理2() == false ) {
    「ダメダメぢゃん!」って書く。
    return;
  }

 なんかする;
}

// ダメならfalseを返す。
public bool 入力チェック処理1() {
  if (this.txt素材全長.Text == "") {
       return false;
    }
    return true;
}

引用返信 編集キー/
■16244 / inTopicNo.4)  Re[2]: クリックイベントを中止するには?
□投稿者/ 花粉症 (2回)-(2008/04/01(Tue) 14:24:43)
早速のご回答ありがとうございます。無事に解決できました。
「Return」についての知識が全然だったようです。
もっと勉強して理解したいと思います。
ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -