DOBON.NETプログラミング掲示板過去ログ
条件分岐でメッセージボックス
題名: 条件分岐でメッセージボックス
著者: YUSK
日時: 2004/10/17 8:31:56
ID: 6763
この記事の返信元:
(なし)
この記事への返信:
[6768]
Re[1]: 条件分岐でメッセージボックス
ant
2004/10/17 12:27:14
ツリーを表示
環境/言語:[WinXP/C#]
分類:[.NET]
お久しぶりです。
YUSKです。覚えてる人いるかな?
質問なのですが、まずボタンをクリックしたら、メッセージボックス(OK)がでるようにしました。
そしたOKをクリックするとメッセージボックス(YES,NO)がでるようにしました。
そこまではできました。
次にifでDialogResultがYESの場合は○○して。
と言う風にコードを書きました。
そして最後にelseでそれ以外の場合(NO)の時。
しかし、ここで問題がおきました。
if(result == DialogResult.YES)
だと、YES,NOを選択するのに関わらずelseが実行され(YESを選んでもNOを選んでも同じ操作になる)、
if(result != DialogResult.No)
だとYES,NOの選択に関わらずYESが実行されてしまいます。
これを、条件分岐できちんとYESを選んだらYESの操作、NOを選んだらelse(NO)の操作にしたいのです。
ちなみに操作と言うのは、YESを選んだらメッセージボックスを開き、OKを押すとフォームが開き、NOを選んでもOKボタンがでてフォームが開くものです(フォームを開く部分はできています)。
この説明でよく分からないかもしれませんので、コードを載せておきます。
{
DialogResult result;
result = MessageBox.Show("新規?それがどうかしたのか?","何のことやらさっぱり",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
MessageBox.Show("ああもう一つ開いたきたいんだね","ああそういうことね",
MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
if(result != DialogResult.No)
{
MessageBox.Show("ほいっと","お望みどおり!",
MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
Form1 f = new Form1();
//ここではモードレスフォームとして表示する
f.Show();
}
else
{
MessageBox.Show("開く","開くぅ",
MessageBoxButtons.OK,MessageBoxIcon.Error);
Form1 f = new Form1();
//ここではモードレスフォームとして表示する
f.Show();
}
}
題名: Re[1]: 条件分岐でメッセージボックス
著者: ant
URL:
http://ant0x.udap.jp/
日時: 2004/10/17 12:27:14
ID: 6768
この記事の返信元:
[6763]
条件分岐でメッセージボックス
YUSK
2004/10/17 8:31:56
この記事への返信:
[6769]
Re[2]: 条件分岐でメッセージボックス
YUSK
2004/10/17 13:04:29
[解決]
ツリーを表示
> if(result == DialogResult.YES)
> だと、YES,NOを選択するのに関わらずelseが実行され(YESを選んでもNOを選んでも同じ操作になる)、
> if(result != DialogResult.No)
> だとYES,NOの選択に関わらずYESが実行されてしまいます。
> これを、条件分岐できちんとYESを選んだらYESの操作、NOを選んだらelse(NO)の操作にしたいのです。
>DialogResult result;
>result = MessageBox.Show("新規?それがどうかしたのか?","何のことやらさっぱり",MessageBoxButtons.OK, MessageBoxIcon.Warning);
>MessageBox.Show("ああもう一つ開いたきたいんだね","ああそういうことね",
> MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
メッセージボックスの結果(YES,NO)を知りたいのは二つ目に
表示されるメッセージボックスではないでしょうか?
それでしたら、OKボタンしか持っていないメッセージボックスの
結果を取得しても意味がありません。単純なタイプミスだと思いますが…(^^;
題名: Re[2]: 条件分岐でメッセージボックス
著者: YUSK
日時: 2004/10/17 13:04:29
ID: 6769
この記事の返信元:
[6768]
Re[1]: 条件分岐でメッセージボックス
ant
2004/10/17 12:27:14
この記事への返信:
(なし)
ツリーを表示
助言ありがとうございます。
タイプミスかどうかは分かりませんが、
MessageBox.Show("ああもう一つ開いたきたいんだね","ああそういうことね",
MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
を、
result = MessageBox.Show("ああもう一つ開いたきたいんだね","ああそういうことね",
MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
にしたらできました。
ありがとうございました。
解決済み!
DOBON.NET
|
プログラミング道
|
プログラミング掲示板
分類:[.NET]
お久しぶりです。
YUSKです。覚えてる人いるかな?
質問なのですが、まずボタンをクリックしたら、メッセージボックス(OK)がでるようにしました。
そしたOKをクリックするとメッセージボックス(YES,NO)がでるようにしました。
そこまではできました。
次にifでDialogResultがYESの場合は○○して。
と言う風にコードを書きました。
そして最後にelseでそれ以外の場合(NO)の時。
しかし、ここで問題がおきました。
if(result == DialogResult.YES)
だと、YES,NOを選択するのに関わらずelseが実行され(YESを選んでもNOを選んでも同じ操作になる)、
if(result != DialogResult.No)
だとYES,NOの選択に関わらずYESが実行されてしまいます。
これを、条件分岐できちんとYESを選んだらYESの操作、NOを選んだらelse(NO)の操作にしたいのです。
ちなみに操作と言うのは、YESを選んだらメッセージボックスを開き、OKを押すとフォームが開き、NOを選んでもOKボタンがでてフォームが開くものです(フォームを開く部分はできています)。
この説明でよく分からないかもしれませんので、コードを載せておきます。
{
DialogResult result;
result = MessageBox.Show("新規?それがどうかしたのか?","何のことやらさっぱり",
MessageBoxButtons.OK, MessageBoxIcon.Warning);
MessageBox.Show("ああもう一つ開いたきたいんだね","ああそういうことね",
MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
if(result != DialogResult.No)
{
MessageBox.Show("ほいっと","お望みどおり!",
MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
Form1 f = new Form1();
//ここではモードレスフォームとして表示する
f.Show();
}
else
{
MessageBox.Show("開く","開くぅ",
MessageBoxButtons.OK,MessageBoxIcon.Error);
Form1 f = new Form1();
//ここではモードレスフォームとして表示する
f.Show();
}
}