- ベストアンサー
VB.NET開発。ラジオボタンとコントロールの制御について教えてください
- VB.NET開発でラジオボタンとコントロールの制御方法について教えてください。現在、ラジオボタン10個とテキストボックス2個(AとB)を配置した画面を作成中ですが、5個のラジオボタンをAのテキストボックスにのみ使用し、残りの5個をBのテキストボックスにのみ使用する方法がわかりません。1つのラジオボタンに対して1つのイベントを発生させる方法は既に実装していますが、もっと効率的な方法はないでしょうか。
- VB.NET開発でラジオボタンとコントロールの制御方法について教えてください。現在、ラジオボタン10個とテキストボックス2個(AとB)を配置した画面を作成中です。5個のラジオボタンをAのテキストボックスにのみ使用し、残りの5個をBのテキストボックスにのみ使用する方法が知りたいです。1つのラジオボタンに対して1つのイベントを発生させる方法は既に実装していますが、より効率的な方法があれば教えてください。
- VB.NET開発でラジオボタンとコントロールの制御方法について教えてください。現在、ラジオボタン10個とテキストボックス2個を配置した画面を作成しています。ラジオボタンのうち5個をAのテキストボックスにのみ使用し、残りの5個をBのテキストボックスにのみ使用する方法を知りたいです。1つのラジオボタンに対して1つのイベントを発生させる方法は既に実装していますが、より効率的な方法があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
イベントハンドラは Private Sub HandlerMethod(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ☆ 上記の☆のところにイベントを捕らえるコントロール名とイベント名が入ります。 略) Handles RadioButton1.CheckedChanged, RadioButton2.CheckedChanged のようにカンマで連結すれば、複数のコントロールをひとつのイベントハンドラで処理することができます。実際にイベントを発生させたコントロールはsenderで判別できます。 手作業でこれを追加してもできますが、フォームデザイナからであれば次の手順で行って下さい。 1. イベントハンドラをまとめるコントロールを選択 (今回の場合はラジオボタン5つ) 2. プロパティウィンドウの稲妻マークをクリック(イベント一覧に変わります) 3. CheckedChangedの欄にイベントハンドラ名(名前は任意。例:RadioChanged)を記入し、Enterキー これで、複数選択したコントロールをひとつのイベントハンドラで受け取るコードが自動的に生成されます。 ※当方VB2005環境で確認しているので、VB.NETが同じかどうかまでは不明です。
その他の回答 (1)
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
ClickイベントはボタンがONになった時に発生し、 CheckedChangedイベントはON/OFFが切り替わったときに発生します。 ですので、Clickイベントでは「どのボタンがOFFになったか」は分かりません。それで支障がなければClickでよいと思います。
お礼
理解できました! ご丁寧にありがとうございました!
補足
ご回答ありがとうございました。 早速試したところ、イベントハンドルをまとめることが可能になりました。 もしよろしければ、もうひとつ教えていただきたいのですが、 CheckedChangedとClickだと、ラジオボタンを選択したときの動きが違いました。 CheckedChangedだと既に選択されているものを、 もう一度指定してから、選択後のボタンの動きに入るようなのです。 単純に「他のボタンを選択したら、コントロールの制御を変更する場合」は、どちらを使用するのが、正しいのでしょうか。 できれば、余計な動きはさせたくないと思っています。 どうぞご教示よろしくお願い致します。