- - PR -
[VB.NET]異なるコントロール上のラジオボタンについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-07-02 17:02
お世話になります。
tabでフォーム上のコントロールを移動する際、 選択されていないラジオボタンに フォーム起動時のみ、 フォーカスが移り、ONになってしまい困っています。 <現在の処理・設定> パネルAの上にラジオボタンaがあり、 パネルBの上にラジオボタンbがあります。 (Aとa・・・tabindex=1、Bとb・・・tabindex=2) aとbは、下記コードにて どちらか一方のみ選択可という処理を行っています。 設定・コードが間違っているのでしょうか。 あるいは、別のコードを追加しなければ回避できないのでしょうか。 ご教授の程よろしくお願いいたします。 <以下コード> 'ラジオボタンb CheckedChangedイベント Private Sub rdoa_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdoa.CheckedChanged With Me If .rdoa.Checked = True Then .rdob.Checked = False Else .rdob.Checked = True End If End With End Sub 'ラジオボタンb CheckedChangedイベント Private Sub rdob_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdob.CheckedChanged With Me If .rdob.Checked = True Then .rdoa.Checked = False Else .rdoa.Checked = True End If End With End Sub |
|
投稿日時: 2004-07-03 09:33
Web ではなく Form でいいんですよね。
プログラム起動前の プロパティウィンドウの rdoa.Checked と rdob.Checked の値はどうなっているのでしょうか? _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 |
|
投稿日時: 2004-07-05 09:45
御返答ありがとうございます。
起動前のCheckedプロパティは、 両方ともFalseに設定してあります。 (rdoaは仕様上、初期値ONになので、 最初はrdoaのみcheckedプロパティをTrueにしていましたが、 状況は現在と同じです。) フォーム起動(フォームロード)時に rdoa.Checked=Trueにしていますが。 |
|
投稿日時: 2004-07-05 12:22
AutoCheck プロパティを両方ともOffにしてください。
現象は収まると思います。 ラジオボタンの本来の使い方はグループ内の複数のラジオボタンの内の1つを、Onにするという使い方です。 別パネル(別グループ)に配置するのはWindowsForm一般として画面設計上問題があります。 _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 |
|
投稿日時: 2004-07-05 13:55
御返答ありがとうございます。
AutoCheckプロパティを両方ともOffにしましたが、 今度はrdobをクリックしてもOn状態にならなくなってしまいました。 おっしゃる通りラジオボタンは同一グループに配置するべきですが、 わけあって別になっているのです・・・。 何度も申し訳ありませんが、 ご教授よろしくお願いいたします。 |
|
投稿日時: 2004-07-05 15:15
RadioButton コントロール (Windows フォーム), グループ化 のヘルプを見てください。
オレンジさんの要求するような仕様はラジオボタンには無理そうです。 checkbox に変更すればうまく動作することは確認しました。 |
|
投稿日時: 2004-07-05 18:57
何回もご返答を頂きありがとうございました。
CheckedChangedイベント内で、 他方のラジオボタンをChecked=Falseにすると同時に TabStop = Falseにすることで 今までの現象を回避できました。 お世話になりました。 |
|
投稿日時: 2004-07-05 23:55
それだと、rdoa が Checked のときに、マウスを使わないで rdob を Checked に出来ないんじゃないですか?
まぁ、オレンジさんがよければいいんですが・・・ _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 |
1