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

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

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

Re[2]: ラジオボタンのメソッド


(過去ログ 90 を表示中)

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

■53940 / inTopicNo.1)  ラジオボタンのメソッド
  
□投稿者/ ゆう (4回)-(2010/09/30(Thu) 14:47:27)

分類:[C#] 

2010/09/30(Thu) 14:47:47 編集(投稿者)

開発環境
 Visual Studio 2005
 C#
実行環境
 Windows CE
.Net Compact Framework2.0を使用しています。

先ほどはありがとうございました。
また別の質問をさせていただきます。
何度もすみません・・・

Textbox2に入っている数値の変換を行いたいです。
ラジオボタンが二つあり、
16進表記、10進表記の切り替えを行いたいです。

//16進を10進に
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
text = Convert.ToInt32(textBox2.Text, 16);
textBox2.Text = text.ToString();
}
//10進を16進に
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
int i = int.Parse(textBox2.Text);
textBox2.Text = i.ToString("x");
}

このようなコーディングをしました。
数値の変換はMessageBoxなどを使って見ると
変換自体は出来ていました。
ですが、
16進のラジオボタンが初期で選択されているのですが、
10進のラジオボタンを選択すると
private void radioButton1_CheckedChanged(object sender, EventArgs e)
このメソッドだけに入ると思っていたのですが
private void radioButton2_CheckedChanged(object sender, EventArgs e)
このメソッドにも入ってしまいました。
また、10進のラジオボタンが設定されていて
16進のラジオボタンを選択すると
同じように二つのメソッドが実行されてしまいます。

原因はなんでしょうか?
引用返信 編集キー/
■53943 / inTopicNo.2)  Re[1]: ラジオボタンのメソッド
□投稿者/ Hongliang (722回)-(2010/09/30(Thu) 14:58:18)
CheckedChanged は「チェック状態が変更されたら発生」ですから、A にチェックがある状態で B にチェックを入れたら、「A のチェックが外れたときの CheckedChanged」「B のチェックが入ったときの CheckedChanged」両方が発生します。
Checked プロパティなどでチェックされたのかどうかを確認するなどします。
引用返信 編集キー/
■53947 / inTopicNo.3)  Re[2]: ラジオボタンのメソッド
□投稿者/ ゆう (5回)-(2010/09/30(Thu) 15:12:09)
2010/10/01(Fri) 13:33:35 編集(投稿者)

No53943 (Hongliang さん) に返信
> CheckedChanged は「チェック状態が変更されたら発生」ですから、A にチェックがある状態で B にチェックを入れたら、「A のチェックが外れたときの CheckedChanged」「B のチェックが入ったときの CheckedChanged」両方が発生します。
> Checked プロパティなどでチェックされたのかどうかを確認するなどします。

「チェック状態が変更されたら発生」という意味だったんですね・・・
調査不足でした・・・
Checkedプロパティを使ってやったら思い通りに動きました。
ありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -