C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: TABキー押下でのコントロール移動


(過去ログ 33 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■16255 / inTopicNo.1)  TABキー押下でのコントロール移動
  
□投稿者/ マンハッタン (1回)-(2008/04/01(Tue) 18:53:50)

分類:[VB.NET/VB2005] 

開発環境:Microsoft Visual Studio 2005

フォーム上に以下の様なコントロールを配置します。

<コントロール名>
Btn1,Btn2,Btn3,Btn4 → Button
RadBtn1 → RadioButton 
Cmb → ComboBox
Frm----------------------------- 画面のイメージです。

Btn1 Btn2 RadBtn1 Btn3 Cmb Btn4

--------------------------------

このような状態で、TABキーを押下します。

TABキー1回押下→Btn1にカーソルが当たる
TABキー2回押下→Btn2にカーソルが当たる
TABキー3回押下→???
TABキー4回押下→Btn3にカーソルが当たる
TABキー5回押下→???
TABキー6回押下→Btn4にカーソルが当たる

RadBtn1,Cmbはアクティブ(カーソルが当たっている)にならない。
但し、一度Cmbをマウスでクリックした後に、再度TABキーを順に押下すると、
アクティブ(カーソルが当たっている)になる。

常に初期の状態(Showした状態)から、上記の様にアクティブにしたいのですが。。
どなたか教えて下さい。








引用返信 編集キー/
■16257 / inTopicNo.2)  Re[1]: TABキー押下でのコントロール移動
□投稿者/ 魔界の仮面弁士 (684回)-(2008/04/01(Tue) 19:47:14)
No16255 (マンハッタン さん) に返信
> RadBtn1,Cmbはアクティブ(カーソルが当たっている)にならない。

TabStop は True なのですよね。普通はフォーカスがあたるはずなので、
> TABキー3回押下→???
> TABキー5回押下→???
の時に、どこにフォーカスがあるのかを追跡してみては如何でしょう。


  Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
     Timer1.Interval = 200
     Timer1.Enabled = True
  End Sub

  Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
     Dim C As Control = Me.ActiveControl
     If C Is Nothing Then
        Me.Text = ""
     Else
        Me.Text = String.Format("{0}({1}),TabIndex={2}", _
            C.GetType().Name, C.Name, C.TabIndex)
     End If
  End Sub

引用返信 編集キー/
■16258 / inTopicNo.3)  Re[2]: TABキー押下でのコントロール移動
□投稿者/ マンハッタン (2回)-(2008/04/01(Tue) 20:32:03)

> TabStop は True なのですよね。普通はフォーカスがあたるはずなので、
>>TABキー3回押下→???
>>TABキー5回押下→???
> の時に、どこにフォーカスがあるのかを追跡してみては如何でしょう。

TabStopはTrueに設定しています。

>>TABキー3回押下→???
>>TABキー5回押下→???
上記の場合、フォーカスは指定のコントロールに当たっているようです。
(教えて頂いたやり方にて確認しました。)

★一度Cmbをマウスでクリックした後に、再度TABキーを押下していくと
 思い通りの結果となります。何故???
 フォーカスが当たっているが、そう見えない状態なのでしょうか??




引用返信 編集キー/
■16259 / inTopicNo.4)  Re[3]: TABキー押下でのコントロール移動
□投稿者/ ダッチ (198回)-(2008/04/01(Tue) 20:49:56)
マンハッタン さん、こんにちは
ダッチです。

同じようにコントロールを配置してみたところ
RadioButton と ComboBox の両方でフォーカスが設定されて見えました。
RadioButton の場合は点線の枠が表示され、
ComboBox の場合は TextBox 同様のキャレットが表示されました。

マンハッタンさんの環境でもう一度新規にフォームを作成して、
その上に同じようにコントロールを配置しても現象が再現しますでしょうか。

RadioButton や ComboBox でなにか設定を変わっているところがあるかもしれません。

引用返信 編集キー/
■16284 / inTopicNo.5)  Re[4]: TABキー押下でのコントロール移動
□投稿者/ ネタ好き (23回)-(2008/04/02(Wed) 14:08:49)
マンハッタンさん、こんにちは。
TabIndexプロパティを一度確認した方がいいと思います。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -