web-dev-qa-db-ja.com

フォームのコントロールでタブインデックスを無効にするにはどうすればよいですか?

2つのボタンと2つのラベルを持つフォームがあります。

ボタン1 = tabIndex = 0、ボタン2 = tabIndex = 1に設定し、tabIndexを2つのラベルに設定したくないため、ユーザーがタブを押すと、ボタン1からボタン2に移動します。

これをどうやってやるの?

20
Rj.

LabelsのTabStopプロパティをfalseに設定し、ButtonsのTabIndexプロパティを必要なものに設定するだけです。デザイナーの[プロパティ]ウィンドウで直接実行できます。

35
itsme86
button1.TabIndex = 0;
button2.TabIndex = 1;

デフォルトでは、ラベルの TabStop はfalseに設定されています。これは、タブを押してもフォーカスを取得しないことを意味します。

1
coolmine

私の場合、すべてのラベルにTabStop propertyがありません。

-1と表示されるため、TabIndexをProperty value not validに設定することもできません。

しかし、アプリケーションを実行すると、すべてのラベルのTabIndexの値に関係なく、キーボードでTabを押してもラベルで停止しません。

これは、Labelコントロールがフォーカスを取得しないためです。 Labelコントロールにフォーカスを取得させる唯一の方法は、Label.Focusメソッドを呼び出すことです。

詳細については、次のフォーラムをご覧ください。 MSDNフォーラム。

0
Willy David Jr

ラベルのタブストッププロパティをfalseに設定しますか?

http://msdn.Microsoft.com/en-us/library/system.windows.forms.control.tabstop.aspx

それ以外の場合は、ラベルのtabindex値をボタンの前の値に設定するだけです。次に、アクセラレータキーを使用してボタンをクリックします。

0
Beth

[〜#〜] msdn [〜#〜] のドキュメントによると、TabStopプロパティはLabelクラスには関係ないため、TabStopを設定します。 trueに設定しても効果はありません。したがって、ラベルの両方のタブインデックスを0に設定し、ボタン1がタブインデックス1を取得し、ボタン2がタブインデックス2を取得します

0
Damith