VB.NET開発。ラジオボタンとコントロールの制御について教えてください

このQ&Aのポイント
  • 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つのイベントを発生させる方法は既に実装していますが、より効率的な方法があれば教えてください。
回答を見る
  • ベストアンサー

VB.NET開発。ラジオボタンとコントロールの制御について教えてください

開発環境 : WindowsXP       office2003 言語   : VB.NET .NET初心者です。ご存知の方がおりましたらご教示御願いします。 今、ラジオボタンを10個と、 テキストボックスのコントロールを2個(AとB)置いた画面をつくっています。 ラジオボタンは1つしか選択できません。 分からないことは、 その内のラジオボタン5個はAのテキストボックスにのみ使用する、 残りのラジオボタン5個はBのテキストボックスにのみ使用する場合の 制御方法です。 一応、1つのラジオボタンに対して、1つのイベントを発生させるような形で制御はできているのですが、 もっと、効率的な書き方はないでしょうか。 (グループ化するとか?) どうぞよろしくお願い致します。

noname#117866
noname#117866

質問者が選んだベストアンサー

  • ベストアンサー
回答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が同じかどうかまでは不明です。

noname#117866
質問者

補足

ご回答ありがとうございました。 早速試したところ、イベントハンドルをまとめることが可能になりました。 もしよろしければ、もうひとつ教えていただきたいのですが、 CheckedChangedとClickだと、ラジオボタンを選択したときの動きが違いました。 CheckedChangedだと既に選択されているものを、 もう一度指定してから、選択後のボタンの動きに入るようなのです。 単純に「他のボタンを選択したら、コントロールの制御を変更する場合」は、どちらを使用するのが、正しいのでしょうか。 できれば、余計な動きはさせたくないと思っています。 どうぞご教示よろしくお願い致します。

その他の回答 (1)

回答No.2

ClickイベントはボタンがONになった時に発生し、 CheckedChangedイベントはON/OFFが切り替わったときに発生します。 ですので、Clickイベントでは「どのボタンがOFFになったか」は分かりません。それで支障がなければClickでよいと思います。

noname#117866
質問者

お礼

理解できました! ご丁寧にありがとうございました!

関連するQ&A

  • VB2008のラジオボタンについて教えて下さい。

    VB2008で開発をしています。 フォーム上にラジオボタンを3つ配置し、グループ化しています。  ラジオボタン1: radioBut0  ラジオボタン2: radioBut1  ラジオボタン3: radioBut2  グループボックス : GroupBox1 これらのラジオボタンのどれを True にするかを、変数 i で与えます。 Dim i AS Integer  i = 0 の時、radioBut0 を True にします。  i = 1 の時、radioBut1 を True にします。  i = 2 の時、radioBut2 を True にします。 これを、IF文を使わずに、簡潔にコーディングする方法がありますでしょうか。 おわかりの方、教えて下さい。 よろしくお願いします。

  • ラジオボタンでテキストボックスを非アクティブにできる?

    2択のラジオボタンと、テキストボックスが一つあったとして、ラジオボタンの片方を選択しているときは、このテキストボックスを非アクティブ状態にする、といったことはJavascriptで可能でしょうか? あまりJavascriptに詳しくないので、簡単な記述で制御できると助かるのですが・・・。 ご教授、よろしくお願いいたします。

  • VBでIE制御

    質問させて頂きます。 VBでWebBrowserを使用してIE制御をやろうと考えているのですが、 type="file"となっているテキストボックスへの入力ができません。 どなたか教えて頂けないでしょうか。 よろしくお願い致します。

  • VB.NET開発(イベントプロシージャはマルチスレッドですか?)

    VB.NET開発(イベントプロシージャはマルチスレッドですか?) 以前より.NETのWindowsフォームの業務アプリ開発してますが、基本的な質問をさせて下さい。 イベントプロシージャの実行処理は、本体スレッド(実行時のスレッド)とは別のスレッドで動作しているのでしょうか。 例えば、ボタンのクリックイベントに何かしらの重い処理があったとします。このクリックイベントの処理ではボタンの制御をしていないので、イベントプロシージャの実行中は、処理中のボタンが押下可能な前提とします。この時、このボタンを3回押下して実行させると3つのスレッドが新規に作成されて実行していると考えて宜しいのでしょうか。 デリゲートやイベントに関するキーワードで検索して、いくつか資料を見たのですが、上記の疑問にぴったり合う解答がなく、質問させて頂きました。 業務アプリの開発で、今まで、あまりマルチスレッドなど意識せずやってきましたが、実は意識しなくても、マルチスレッドの開発をしていたことになるのでしょうか。 以前、VB6の開発もしておりました。 ちなみにVB6の場合も、イベントプロシージャはマルチスレッドで実行されていると考えて宜しいのでしょうか。 よろしくお願いします

  • ASP.NET/VBでのユーザコントロールを使用したプログラム

    開発環境:VS2005 言語:ASP.NET(VB) 質問させてください。 現在ASP.NETでプログラムを作っています。 プログラム等は経験なくほぼ初心者です。 内容としては テキストボックス(txtB)1個のユーザコントロールを ボタン(btn1)1個とテキストボックス(txtA)1個のフォーム(aspx)に貼り付け、 ボタンを押下することでフォームのテキストボックス内の値を ユーザコントロールのテキストボックスに表示させるという プログラムを作りたいのですがうまくいきません。 色々調べたのですが、 ユーザコントロールのテキスト内の値をフォームのテキストに表示させる方法は あったのですが逆の方法は見つけられませんでした。 説明等わかりにくいところもあるかもしれませんが 回答よろしくお願いいたします。

  • ツールボタンの制御について

    メールソフトやテキストエディタなどで編集系ボタン(切り取り 貼り付け、コピー、元に戻すなど)のツールボタンがある時 クリップボードとかにデータがなければ貼り付けが使用 できない(Enabled = false)とかになっていたりしますが これはどこのイベントで制御しているのでしょうか? DelphiだとTActionList(だったかな?)のようにメニューの イベントと連動して出来たのですが、C#ではどうすれば 良いのでしょうか? 現状は無理やりタイマーコントロールでクリップボードとか テキストボックスの選択文字数を監視してツールボタンの 有効/無効を切り替えています。

  • VB.NETでテキストボックスからデータベースに登録するときの文字制御

    VB.NETでWebページを作っているのですが、 名前を入れるテキストボックスにどうやって制御したらいいか考えています。 「'」や、「,」とかや「\」など、皆様はどのような、文字を制御しているでしょうか? 名前をいれるテキストボックスは、SQL-Serverデータベースに登録するようになっています。 (1)制御する文字 (2)制御方法 を教えてくださいー

  • ラジオボタンでプッシュボタンの使用可否を制御。

    ラジオボタンでAとB、2択の選択肢を作ります。 Aを選んだ時にはプッシュボタンCを押す事ができ、 Bを選んだ時にはCは押せない状態にしたいのです。 Bの時には、Cの属性にdisabledを持たせたいと言うのでしょうか。非表示になっても構いません。 こう言った制御はJavaScriptを使う事になると思い、このカテゴリで質問しました。 今まで他の方が作られたソースを改造してしかJavaScriptを使った事が無く、書き方が全然わかりません。 上記のような制御を行う方法を、サンプルソースで教えていただけないでしょうか。よろしくお願いします。

  • VB.NET ボタン押下で一つ前のコントロールへ

    お世話になります。 VisualStudio2010 InputMan6.0 上記を使用して、VB.NETで開発をしております。 いくつかテキスト・コンボコントロールが並んでいるFormで、ボタンを押下することで それまでカーソルがあったコントロールの一つ前のTabIndexがあるコントロールへ カーソルを遷移させたいのですが、うまく動きません。 SelectNextControlを使ってみても、ボタン押下の段階でボタンがActiveなコントロールと なってしまうため、ボタンの一つ前のコントロールにカーソルが移動してしまいます。 うまい方法はないでしょうか?

  • VB.NETでボタンクリックイベントで次のコントロールへ

    VB開発初心者です。 VB.NETでWindowsMobile5.0開発してます。 .NETCONPACTFreameWork2.0です。 TABキーで移動するように ボタンクリックイベントで次のコントロールへFocusを移動させたいのですがうまく行きません。 下記の記述すればOKだと思いましたが、 Me.SelectNextControl(Me.ActiveControl, True, True, True, True) ActiveControlを.NETCONPACTFreameWorkがサポートしてませんでした。 ほかに良い方法ありませんでしょうか? 宜しくお願いします。

専門家に質問してみよう