投稿者 るきお  (社会人) 投稿日時 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などのプロパティから取得する方法もあります。