ラジオボタンリストについて への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 (削除されました)  () 投稿日時 2009/8/21 09:37:16
(削除されました)
投稿者 うさぎ  (高校生) 投稿日時 2009/8/21 09:35:12
お返事ありがとうございました。

教えてくださった方法で記述してみたところ、

フォーカスはあたるのですがやはり点線がでませんでした。

やはりJAVAで書くのでしょうか??

私は最初

ラジオボタンリストの項目(SelectedIndexかitem?).Focus()

と書くのかなあと思っていました。

でもFocusはコントロールにしか記述できないので、

ラジオボタンリスト名.SelectedIndex.Focusとは書けないのですよね。

あまりJAVAはできないのでできるだけ回避したかったのですが、それだと難しそうですね。



投稿者 るきお  (社会人) 投稿日時 2009/8/21 08:50:42
こんにちは。RadioButtonListということはWebアプリケーションですね。

簡単な方法ではRadionButtonListをPanelコントロールの中に入れてプログラム(VB)からは、以下のようにします。
Panel1.Focus


ただ今やってみると、これでいけることはいけるのですが、肝心の点線がでてきません。一度キーボードの↑↓などを押すとフォーカスが移動していることは確認できるのですが、どうなっているんでしょう。
これだとちょっとだめですね。

基本的にはRadioButtonListのように内部に項目を含むコントロールへのフォーカスは
RadioButtonListではなくその項目に対して行います。

たとえば、既定の設定ではRadioButtonListからはTableタグが生成され、
RadionButtonListの名前(id)はこのTableタグのidとなります。
個々の要素はInputタグになるので、このInputタグのidにフォーカスを移すことになります。
この構造はサーバー側ではなくクライアント側に生成されるので、フォーカスを移す処理もJavaScriptで記述する必要があります。
それが面倒なので冒頭のようにPanelでくくる技があるのですが先に書いたとおりいまひとつです。
試しにJavaScriptでも書いてみたのですが同じでした。
ClientScript.RegisterStartupScript(Me.GetType"MyScript""<script language=""JavaScript"">form1.RadioButtonList1_1.focus();</script>")


Vista + VB2008 + IE7 環境で試しているのですが原因がわかりません。

うさぎさんの環境ではPanel1.Focusでどうなりますか?

>ラジオボタンリストのアイテムはどうやって取得すればいいのですか?
これは普通にRadionButtonList1.Itemsで取得できます。
他にもSelectedItem, SelectedValueなどのプロパティから取得する方法もあります。
投稿者 うさぎ  (高校生) 投稿日時 2009/8/21 06:05:40
こんばんは。はじめて質問します。
現在、VB2005を使ってプログラムを組んでいるのですが、
ラジオボタンリストのことで悩んでいます。

ラジオボタンリストにフォーカスをあてたいのですが、

ラジオボタンリスト名.Focus()と書いてもうまくいきません。

他のコントロール(ドロップダウンリスト、テキスト)の場合は、

上記の方法でもうまくいきます。

たぶんラジオボタンで何を選択しているかがあいまいだからうまくいかないのかな、

とは思うのですが、

ラジオボタンリストのアイテムはどうやって取得すればいいのですか?

教えてください。