Windowsフォームでタブ・オーダーを設定するには?.NET TIPS

» 2004年06月25日 05時00分 公開

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「.NET TIPS」のインデックス

連載目次

 Windowsアプリケーションでは、[TAB]キー(順方向)や[SHIFT]+[TAB]キー(逆方向)を使い、Windowsフォーム上のコントロール間でフォーカスを移動できるのが一般的だ。

 このような[TAB]キーを使ったコントロール間のフォーカス移動はWindowsフォームの標準機能の1つだが、単純に上から順番に移動しているわけではない。この「移動する順番(以降、タブ・オーダー)」は開発者があらかじめ設定したものなのだ。

タブ・オーダーが正しく設定されていない場合

 もしタブ・オーダーが正しく設定されていなければ、フォーカス移動が不規則な使いにくいアプリケーションになってしまう。タブ・オーダーは画面の左上から右下へといったように、ユーザーが直感的に分かるようにすることが望ましい。

 例えば次の画面では、[お名前]テキストボックス(textBox1)、[住所]テキストボックス(textBox2)、[OK]ボタンという3つの項目があるので、[TAB]キーでフォーカス移動すると直感的には「お名前」「住所」「OK」という順番で移動すると想定できるが、タブ・オーダーが正しく設定されていないために、「お名前」「OK」「住所」という順番で移動してしまい使い勝手が悪い(ラベル・コントロールの項目は説明の都合上、無視している)。

正しくタブ・オーダーが設定されていないWindowsアプリケーション
直感的には「お名前」「住所」「OK」という順番で移動すると想定できるが、実際には「お名前」「OK」「住所」という順番で移動する。

 このようにタブ・オーダーが正しく設定されていないと、使い勝手の悪いWindowsアプリケーションになってしまう。よって、Windowsアプリケーションでは、タブ・オーダーの設定は不可欠だ。そこで本稿では、Windowsフォームでタブ・オーダーを設定する方法を紹介しよう。

タブ・オーダーの設定方法

 タブ・オーダーの設定は簡単である。まず、VS.NET IDEのWindowsフォーム・デザイナ上のWindowsフォームを選択した状態で、メニュー・バーから[表示]―[タブ オーダー]を実行する。すると、次の画面のようにタブ・オーダーの番号が表示される。

VS.NET IDEでのタブ・オーダー番号の表示
[お名前]テキストボックス(textBox1)には「0」、[住所]テキストボックス(textBox2)には「2」、[OK]ボタンには「1」の番号が割り振られている。[お名前]ラベルと[住所]ラベルに「3」「4」という番号が割り当てられているが、ラベル・コントロールはフォーカスを受け取らないので、「2」の後のフォーカス移動では、この「3」と「4」は飛ばされて、再び「0」に戻るので注意してほしい。なお、タブ・オーダーの番号は0始まりである。

 上の画面のようにタブ・オーダー番号が表示されたら、次に、正しいタブ・オーダー順にコントロールをクリックしよう。この画面の例では、[お名前]テキストボックス、[住所]テキストボックス、[OK]ボタンの順にクリックすればよい。

タブ・オーダー番号の再割り当て
タブ・オーダー番号を割り当て直すには、正しいタブ・オーダー順にコントロールをクリックする。この画面の例では、[お名前]テキストボックス(textBox1)、[住所]テキストボックス(textBox2)、[OK]ボタンの順にクリックすればよい。
 (1)タブ・オーダー番号を割り当てるには、Windowsフォーム上のコントロール(この例では[OK]ボタン)をクリックする。

 すると、上の画面のようにタブ・オーダーの番号が修正される。このときプログラム・コードでは、各コントロール(System.Windows.Forms名前空間のControlクラスを継承したオブジェクト)のTabIndexプロパティにタブ・オーダー番号の値が設定される。

 正しいタブ・オーダー番号になれば、再度、メニュー・バーから[表示]―[タブ オーダー]を実行して、タブ・オーダー番号を非表示にすれば完了だ。これで、プログラムをビルドして実行すると、正しいタブ・オーダーでフォーカス移動できるようになる。

カテゴリ:Windowsフォーム 処理対象:キーボード
関連TIPS:Windowsフォームでグループ化されたコントロールのタブ・オーダーを設定するには?

「.NET TIPS」のインデックス

.NET TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。