2つのボタンと2つのラベルを持つフォームがあります。
ボタン1 = tabIndex = 0、ボタン2 = tabIndex = 1に設定し、tabIndexを2つのラベルに設定したくないため、ユーザーがタブを押すと、ボタン1からボタン2に移動します。
これをどうやってやるの?
LabelsのTabStopプロパティをfalseに設定し、ButtonsのTabIndexプロパティを必要なものに設定するだけです。デザイナーの[プロパティ]ウィンドウで直接実行できます。
button1.TabIndex = 0;
button2.TabIndex = 1;
デフォルトでは、ラベルの TabStop はfalseに設定されています。これは、タブを押してもフォーカスを取得しないことを意味します。
私の場合、すべてのラベルにTabStop property
がありません。
-1
と表示されるため、TabIndexをProperty value not valid
に設定することもできません。
しかし、アプリケーションを実行すると、すべてのラベルのTabIndexの値に関係なく、キーボードでTabを押してもラベルで停止しません。
これは、Labelコントロールがフォーカスを取得しないためです。 Labelコントロールにフォーカスを取得させる唯一の方法は、Label.Focusメソッドを呼び出すことです。
詳細については、次のフォーラムをご覧ください。 MSDNフォーラム。
ラベルのタブストッププロパティをfalseに設定しますか?
http://msdn.Microsoft.com/en-us/library/system.windows.forms.control.tabstop.aspx
それ以外の場合は、ラベルのtabindex値をボタンの前の値に設定するだけです。次に、アクセラレータキーを使用してボタンをクリックします。
[〜#〜] msdn [〜#〜] のドキュメントによると、TabStopプロパティはLabelクラスには関係ないため、TabStopを設定します。 trueに設定しても効果はありません。したがって、ラベルの両方のタブインデックスを0に設定し、ボタン1がタブインデックス1を取得し、ボタン2がタブインデックス2を取得します