方法: Windows フォーム上のタブ オーダーを設定する

タブ オーダーは、ユーザーが Tab キーを押すことによって、コントロールのフォーカスが別のコントロールに移動する順序です。 各フォームには、独自のタブ オーダーがあります。 既定では、タブ オーダーは、コントロールを作成した順序と同じです。 タブ オーダーの番号は 0 から始まります。

コントロールのタブ オーダーを設定するには

  1. Visual Studio の [表示] メニューで [タブ オーダー] を選択します。

    これにより、フォームのタブ オーダー選択モードがアクティブになります。 各コントロールの左上隅に、数字 (TabIndex プロパティを表す) が表示されます。

  2. コントロールを順番にクリックして、目的のタブ オーダーを設定します。

    注意

    タブ オーダー内のコントロールの位置は、0 以上の任意の値に設定できます。 重複が発生すると、2 つのコントロールの z オーダーが評価され、上にあるコントロールに最初にタブ移動します。 (z オーダーは、フォームの z 軸 [奥行] に沿ったフォーム上のコントロールの視覚的なレイヤーです。z オーダーにより、他のコントロールの前面に表示されるコントロールが決まります。) z オーダーの詳細については、Windows フォームでのオブジェクトのレイヤー化に関する記事を参照してください。

  3. 終わったら、 [表示] メニューの [タブ オーダー] をもう一度選択して、タブ オーダー モードを終了します。

    注意

    フォーカスを取得できないコントロール、および無効なコントロールや非表示のコントロールには TabIndex プロパティはなく、タブ オーダーには含まれません。 ユーザーが Tab キーを押すと、これらのコントロールはスキップされます。

または、[プロパティ] ウィンドウで TabIndex プロパティを使用して、タブ オーダーを設定することもできます。 コントロールの TabIndex プロパティにより、タブ オーダー内での位置が決まります。 既定では、最初に描画されたコントロールの TabIndex の値は 0、2 番目の TabIndex は 1、などとなります。

また、既定では、GroupBox コントロールには、独自の TabIndex 値 (整数) があります。 GroupBox コントロール自体に、実行時にフォーカスを設定することはできません。 したがって、GroupBox 内の各コントロールには、0 から始まる独自の 10 進数の TabIndex 値があります。 当然ながら、GroupBox コントロールの TabIndex がインクリメントされると、その中のコントロールもそれに応じてインクリメントされます。 TabIndex の値を 5 から 6 に変更した場合、そのグループの最初のコントロールの TabIndex 値は自動的に 6.0 に変更されます。

最後に、フォーム上の多くのコントロールは、タブ オーダーでスキップできます。 通常は、実行時に Tab キーを連続して押すと、各コントロールがタブ オーダーの順に選択されます。 TabStop プロパティをオフにすると、フォームのタブ オーダーでコントロールを通過させることができます。

タブ オーダーからコントロールを削除するには

[プロパティ] ウィンドウで、コントロールの TabStop プロパティを false に設定します。

TabStop プロパティが false に設定されたコントロールは、Tab キーを使用したコントロール間の移動ではスキップされますが、タブ オーダーでの位置は維持されています。

注意

ラジオ ボタン グループには、実行時に 1 つのタブ ストップがあります。 選択されているボタン (つまり、Checked プロパティが true に設定されているボタン) は、TabStop プロパティが自動的に true に設定され、他のボタンの TabStop プロパティは false に設定されます。 RadioButton コントロールのグループ化の詳細については、Windows フォームの RadioButton コントロールをセットとして機能させるためのグループ化に関する記事を参照してください。

関連項目