タブ オーダーは、Tab キーを押して、ユーザーがコントロール間でフォーカスを移動する順序です。 各フォームには、独自のタブ オーダーがあります。 既定では、タブ オーダーはコントロールを作成した順序と同じです。 タブ オーダー番号はゼロから始まり、値が上がり、TabIndex プロパティで設定されます。
また、デザイナーのプロパティ ウィンドウまたはタブ オーダー モードを使用して、タブ オーダーを直接設定することもできます。
タブ オーダーは、 プロパティを使用してデザイナーの TabIndex ウィンドウで設定できます。 コントロールの TabIndex
プロパティによって、タブ オーダー内の配置場所が決まります。 既定では、デザイナーに追加された最初のコントロールの TabIndex
値は 0、2 番目のコントロールの TabIndex
は 1 です。 最も高い TabIndex
がフォーカスされたら、 Tab キー を押すと、最も小さい TabIndex
値を持つコントロールにフォーカスが移動します。
GroupBox コントロールなどのコンテナー コントロールは、その子を、フォームの残りの部分とは別に扱います。 コンテナー内の各子には、独自の TabIndex 値があります。 コンテナー コントロールはフォーカスできないため、タブ オーダーがコンテナー コントロールに到達すると、最も低い TabIndex
を持つコンテナーの子コントロールがフォーカスされます。
Tab キーを押すと、TabIndex
の値に従って、最後のコントロールまで、各子コントロールにフォーカスが設定されます。 最後のコントロール Tab が押されると、次の TabIndex
値に基づいて、コンテナーの親にある次のコントロールにフォーカスが戻ります。
フォームのコントロールは、 TabStop プロパティを false に設定することで、タブ オーダーでスキップできます。
デザイナー
Visual Studio の [プロパティ] ウィンドウを使用して、コントロールのタブ オーダーを設定します。
デザイナーでコントロールを選択します。
Visual Studio の [プロパティ ] ウィンドウで、コントロールの
TabIndex
プロパティを適切な数値に設定します。
プログラム的な
コントロールのタブ オーダーは、コードを使用して設定できます。
TabIndex
プロパティを数値に設定します。Button1.TabIndex = 1
Button1.TabIndex = 1;
タブ順序モードを使用する
Visual Studio の Visual Designer には、コントロールの TabIndex プロパティを設定する対話型の方法が用意されています。 タブ オーダー モードでは、ビジュアル デザイナーでコントロールをクリックして、コントロールのタブ オーダーを順番に設定できます。
Visual Studio の [表示] メニューで [タブ オーダー] を選択します。
これにより、フォームのタブ オーダー選択モードがアクティブになります。 各コントロールの左上隅に数値 (
TabIndex
プロパティを表す) が表示されます。コントロールを順番にクリックして、必要なタブ オーダーを確立します。
注
タブ オーダー内のコントロールの位置は、0 以上の任意の値に設定できます。 重複が発生すると、2 つのコントロールの z オーダーが評価され、上部のコントロールが最初にタブ付けされます。 (z オーダーは、フォームの z 軸 [深度] に沿ったフォーム上のコントロールのビジュアル レイヤーです。z オーダーによって、他のコントロールの前にあるコントロールが決まります)。z オーダーの詳細については、「Windows フォーム上のオブジェクトのレイヤー化」を参照してください。
完了するには、[ 表示>タブの順序 をもう一度選択します。
注
無効なコントロールや非表示のコントロールなど、フォーカスできないコントロールはタブ オーダーに含まれません。 ユーザーが Tab キーを押すと、これらのコントロールはスキップされます。
タブ オーダーからコントロールを削除する
プロパティを TabStopに設定すると、false
キーを押したときにコントロールがフォーカスを受け取らないようにすることができます。
Tab キーを使って操作項目を順番に循環すると、その項目はスキップされます。 このプロパティが false
に設定されている場合、コントロールのタブ オーダーは失われません。
注
ラジオ ボタン グループには、実行時に 1 つのタブ ストップがあります。 選択したボタン(Checked プロパティが true
に設定されているボタン)には、その TabStop プロパティが自動的に true
に設定されます。 ラジオ ボタン グループ内の他のボタンには、TabStop
プロパティが false
に設定されています。
デザイナーで TabStop を設定する
デザイナーでコントロールを選択します。
Visual Studio の
プロパティ ウィンドウで、TabStop プロパティに設定します。
TabStop をプログラムで設定する
TabStop
プロパティをfalse
に設定します。Button1.TabStop = false;
Button1.TabStop = False
こちらも参照ください
.NET Desktop feedback