

開発環境 : WindowsXP
office2003
言語 : VB.NET
.NET初心者です。ご存知の方がおりましたらご教示御願いします。
今、ラジオボタンを10個と、
テキストボックスのコントロールを2個(AとB)置いた画面をつくっています。
ラジオボタンは1つしか選択できません。
分からないことは、
その内のラジオボタン5個はAのテキストボックスにのみ使用する、
残りのラジオボタン5個はBのテキストボックスにのみ使用する場合の
制御方法です。
一応、1つのラジオボタンに対して、1つのイベントを発生させるような形で制御はできているのですが、
もっと、効率的な書き方はないでしょうか。
(グループ化するとか?)
どうぞよろしくお願い致します。
No.1ベストアンサー
- 回答日時:
イベントハンドラは
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が同じかどうかまでは不明です。
この回答への補足
ご回答ありがとうございました。
早速試したところ、イベントハンドルをまとめることが可能になりました。
もしよろしければ、もうひとつ教えていただきたいのですが、
CheckedChangedとClickだと、ラジオボタンを選択したときの動きが違いました。
CheckedChangedだと既に選択されているものを、
もう一度指定してから、選択後のボタンの動きに入るようなのです。
単純に「他のボタンを選択したら、コントロールの制御を変更する場合」は、どちらを使用するのが、正しいのでしょうか。
できれば、余計な動きはさせたくないと思っています。
どうぞご教示よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
-
4
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
5
小数点を含む数値かどうか判断の判断方法
Visual Basic(VBA)
-
6
ラジオボタンの初期指定
Visual Basic(VBA)
-
7
チェックボックスを操作できないようにしたいです VB.NET
Visual Basic(VBA)
-
8
CloseとDisposeの違い
Visual Basic(VBA)
-
9
VB.net 引数で配列変数を渡す際の要素数
Visual Basic(VBA)
-
10
【VB.NET】App.configにファイルパスを設定して読み込みたい
Microsoft ASP
-
11
【VB】タブ切り替え時のイベント
Visual Basic(VBA)
-
12
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
13
TextBoxに半角数字のみの入力しかできないようにしたい
Visual Basic(VBA)
-
14
VB.NETでのイベントの途中終了
Visual Basic(VBA)
-
15
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
16
TextBoxでEnterキーを押すと、にあるButtonを押したのと同じ効果を出す方法
Visual Basic(VBA)
-
17
この行は既に別のテーブルに属しています
Visual Basic(VBA)
-
18
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
19
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
20
VB.netでRadioButtonを配列にしたい場合
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックスをオンにした...
-
エクセルVBAでオプションボタン...
-
間違えて配置してしまったコン...
-
全てのオブジェクトのプロパテ...
-
エクセル コントロールツール...
-
C#で自分のウインド・ハンド...
-
EXCELでactivexコントロールを...
-
Labelコントロールの(左右)余...
-
ActiveX DLL と ActiveXコント...
-
ユーザーフォームで動的(Me.Con...
-
コントロールの絶対位置を取得...
-
ControlTipTextの書式設定(Font...
-
VBA ユーザーフォームの Keypre...
-
アクセス特有の書き方?
-
chr関数の呼び出しで「プロ...
-
ExcelVBAでListViewが使用できない
-
Excelで、コンボボックスで選択...
-
Groupboxの配下のコントロール...
-
'ckbl' コントロールは作成され...
-
VB.NET 動的コントロールの存在...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
EXCELでactivexコントロールを...
-
エクセルVBAでオプションボタン...
-
チェックボックスをオンにした...
-
カメラスクロールするのを動画...
-
'ckbl' コントロールは作成され...
-
ExcelVBAでListViewが使用できない
-
Groupboxの配下のコントロール...
-
ユーザーフォームで動的(Me.Con...
-
VBA ユーザーフォームの Keypre...
-
vb.netで画面のコントロールId...
-
全てのオブジェクトのプロパテ...
-
間違えて配置してしまったコン...
-
chr関数の呼び出しで「プロ...
-
VBAのフォームでTextBoxがいっ...
-
OCXって何ですか?
-
アクセス特有の書き方?
-
エクセル コントロールツール...
-
コントロールを移動できない
-
Labelコントロールの(左右)余...
おすすめ情報