リスト ビュー

Note

この設計ガイドは Windows 7 用に作成されており、新しいバージョンの Windows では更新されていません。 ガイダンスの多くは原則として適用されますが、プレゼンテーションと例には 現在の設計ガイダンスは反映されていません。

リスト ビューを使用すると、ユーザーは 1 つの選択または複数の選択を使用して、データ オブジェクトのコレクションを表示および操作できます。

列ヘッダーを含むリスト ビューのスクリーン ショット

一般的なリスト ビュー。

リスト ビューには、リスト ボックスよりも柔軟性と機能があります。 リスト ボックスとは異なり、ビューの変更、グループ化、見出しを含む複数の列の変更、列による並べ替え、列の幅と順序の変更、ドラッグ ソースまたはドロップ ターゲット、クリップボードとの間でのデータのコピーをサポートしています。

Note

レイアウト ボックスとリスト ボックスに関連するガイドラインは、別の記事で示されています。

これは適切なコントロールですか?

リスト ビューは、より柔軟で機能的なリスト ボックスだけではありません。その追加機能により、使用が異なります。 次の表に、比較を示します。

使用 リスト ボックス リスト ビュー
データの種類
データとプログラムの両方のオプション。
データのみ。
Contents
ラベルのみ。
ラベルと補助データ (場合によっては複数の列)。
相互作用
選択を行う場合に使用します。
選択を行う場合に使用できますが、多くの場合、データの表示と操作に使用されます。 ドラッグ ソースまたはドロップ ターゲットを指定できます。
プレゼンテーション
 固定。
ユーザーは、ビューの変更、グループ化、列による並べ替え、列の幅と順序の変更を行うことができます。

これが適切なコントロールであるかどうかを判断するには、次の質問を検討してください。

  • リストには、プログラム オプションではなくデータが表示されますか? そうでない場合は、代わりにリスト ボックスを使用することを検討してください。
  • ユーザーは、ビューの変更、グループ化、列による並べ替え、列の幅と順序の変更を行う必要がありますか? そうでない場合は、代わりにリスト ボックスを使用します。
  • コントロールはドラッグ ソースまたはドロップ ターゲットである必要がありますか? その場合は、リスト ビューを使用します。
  • リスト アイテムをクリップボードにコピーするか、クリップボードから貼り付ける必要がありますか? その場合は、リスト ビューを使用します。

チェック ボックスリストビュー

  • コントロールは、データの一覧から 0 個以上の項目を選択するために使用されますか? 1 つの項目を選択するには、代わりに単一の選択を使用します。
  • 複数選択はタスクに不可欠ですか、または一般的に使用されますか? その場合は、チェック ボックスのリスト ビューを使用して、ターゲット ユーザーが高度でない場合は特に、複数の選択を明確にします。 そうでない場合は、標準の複数選択リスト ビューを使用します。チェック ボックスが複数の選択に注意を引きすぎたり、画面が乱雑になりすぎたりする場合は、標準の複数選択リスト ビューを使用します。
  • 複数選択の安定性は重要ですか? その場合は、クリックすると一度に 1 つのアイテムのみが変更されるため、チェック ボックス リスト、リスト ビルダー、またはリストの追加と削除を使用します。 標準の複数選択リストを使用すると、誤ってすべての選択をクリアすることは非常に簡単です。

Note

リスト ビューのように見えるコントロールがリスト ボックスを使用して実装される場合もあれば、その逆もあります。 このような場合は、実装ではなく、使用法に基づいてガイドラインを適用します。

使用パターン

すべてのビューでは、ユーザーが一度に 1 つの項目のみを選択できる 1 つの選択と、ユーザーが任意の数の項目 (なしを含む) を選択できる複数の選択がサポートされています。 リスト ビューでは拡張 選択モードがサポートされています。選択範囲は、ドラッグするか、Shift キーを押しながらクリックするか Ctrl キーを押しながらクリックして、隣接する値または隣接しない値のグループを選択することで拡張できます。 リスト ボックスとは異なり、 複数の選択モードはサポートされていません。項目をクリックすると、Shift キーと Ctrl キーに関係なく選択状態が切り替わります。

標準リスト ビュー

リスト ビュー コントロールでは、次の 5 つの標準ビューがサポートされています。

使用法
タイル
各項目は中アイコンとして表示され、右側にラベルとオプションの詳細が表示されます。
タイトルと詳細を含むサムネイルのスクリーン ショット
タイル ビューには、右側にラベルとオプションの詳細が表示された中のアイコンが表示されます。
大きいアイコン
各項目は、その下にラベルが付いた、特大、大、または中のアイコンとして表示されます。
大きなサムネイル リスト ビューのスクリーン ショット
大きなアイコン ビューでは、各項目が大きなアイコンとして表示され、その下にラベルが表示されます。
小さいアイコン
各項目は、右側にラベルが付いた小さなアイコンとして表示されます。
小さいサムネイル リスト ビューのスクリーン ショット
[小さいアイコン] ビューでは、各項目が小さなアイコンとして表示され、右側にラベルが表示されます。
リスト
各項目は、右側にラベルが付いた小さなアイコンとして表示されます。
リスト モードでは、このビューは列内の項目を並べ替え、水平スクロール バーを使用します。 これに対し、アイコンビューは項目を行内で並べ替え、垂直スクロールバーを使用します。
リスト モードのリスト ビューのスクリーン ショット
リスト モードでは、各項目が小さなアイコンとして表示され、ラベルが右側に表示されます。
詳細
各項目は表形式の行として表示されます。 左端の列には項目のオプションのアイコンとラベルの両方が含まれており、後続の列には項目のプロパティなどの追加情報が含まれます。
さらに、列を追加または削除したり、並べ替えたりサイズを変更したりできます。 行をグループ化し、列で並べ替えることができます。
詳細モードのリスト ビューのスクリーン ショット
詳細ビューでは、各項目が表形式の行として表示されます。

リスト ビューのバリエーション

Label
列の選択
リスト ビューには非常に多くの列が含まれる場合があるため、すべてを表示するのは実用的ではありません。 この場合、最も便利な列を既定で表示し、必要に応じてユーザーが列を追加または削除できるようにするのが最善の方法です。
[列の選択] メニューを使用したリスト ビューのスクリーン ショット
列見出しを右クリックすると、ユーザーが列を追加または削除できるコンテキスト メニューが表示されます。
[詳細の選択] ダイアログ ボックスのスクリーン ショット
列ヘッダーのコンテキスト メニューで [その他] をクリックすると、[列の選択] ダイアログ ボックスが表示されます。これにより、ユーザーは列を追加または削除したり、並べ替えたりすることができます。
チェック ボックスリストビュー
ユーザーが複数のアイテムを選択できるようにします。
複数選択リスト ビューの外観は単一選択リスト ビューとまったく同じであるため、複数選択をサポートするという視覚的な手掛かりはありません。 チェック ボックスのリスト ビューを使用すると、複数の選択が可能であることを明確に示すことができます。 したがって、このパターンは、複数の選択が必須または一般的に使用されるタスクに使用する必要があります。
複数のチェック ボックスがあるダイアログ ボックスのスクリーン ショット
この例では、タスクに複数の選択が不可欠であるため、小さいアイコン ビューではチェック ボックスが使用されます。
グループを含むリスト ビュー
データをグループにまとめる。
詳細ビューでは、多くの場合、任意の列によるデータの並べ替えがサポートされますが、リスト ビューを使用すると、ユーザーはアイテムをグループに整理できます。 グループ化の利点は次のとおりです。
  • グループはすべてのビュー (リストを除く) で動作するため、たとえば、ユーザーはアーティスト別にアルバムの非常に大きなアイコン ビューをグループ化できます。
  • グループは高レベルのコレクションにすることができます。多くの場合、データから直接グループ化するよりも意味があります。 たとえば、Windows エクスプローラーでは、日付が Today、Yesterday、Last week、This year の初め、および A の順にグループ化されます。
複数のデータ グループを含むリスト ビューのスクリーン ショット
この例では、Windows ウェルカム センターにグループ化されたアイテムがリスト ビューに表示されます。

ガイドライン

プレゼンテーション

  • リスト アイテムを論理的な順序で並べ替えます。 名前をアルファベット順に並べ替え、数値順に並べ替え、日付を時系列順に並べ替えます。

  • 必要に応じて、ユーザーが並べ替え順序を変更できるようにします。 ユーザーの並べ替えは、リストに多数の項目がある場合、または既定以外の並べ替え順序を使用して項目がより効果的に見つかるシナリオがある場合に重要です。

  • コントロールにフォーカスがない場合でも、選択した項目をユーザーが簡単に判断できるように、Always Show Selection 属性を使用します。

  • 空のリスト ビューを表示しないようにします。 ユーザーがリストを作成する場合は、ユーザーが必要とする可能性がある手順または項目の例を使用してリストを初期化します。

    手順を含む検索ダイアログ ボックスのスクリーン ショット

    この例では、最初に検索リスト ビューに手順が表示されます。

  • ユーザーがビューを変更したり、グループ化したり、列で並べ替えたり、列の幅と順序を変更したりできる場合は、次にリスト ビューが表示されるときに有効になるように、これらの設定を保持します。 ユーザーごとに、リストごとのビューで保持されるようにします。

相互作用

  • シングル クリックを使用して、ユーザーが指しているリスト アイテムを選択します。例外: コマンド リンク リスト パターンの場合、1 回クリックすると項目が選択され、ウィンドウが閉じるか、次のページに移動します。

  • ダブルクリック動作を指定することを検討してください。 ダブルクリックすると、項目を選択して既定のコマンドを実行するのと同じ効果が得られます。

  • ダブルクリック動作を冗長にします。 常に、同じ効果を持つコマンド ボタンまたはコンテキスト メニュー コマンドが存在する必要があります。

  • リスト アイテムにさらに説明が必要な場合は、ヒント に説明を入力します。 完全な文と終了句読点を使用します。

    キーボードヒントを使用したリスト ビューのスクリーン ショット

    この例では、ヒントを使用して詳細情報を提供します。

  • 関連するコマンドのコンテキスト メニューを指定します。 このようなコマンドには、切り取り、コピー、貼り付け、削除または削除、名前の変更、およびプロパティが含まれます。

  • ユーザーが並べ替え順序とグループ化を変更できる場合は、[並べ替え] と [グループ化] コンテキスト メニューを指定します。 列名を最初にクリックすると、その列の昇順でリストが並べ替えまたはグループ化され、2 番目のクリックでは降順で並べ替えまたはグループ化されます。 セカンダリ キーとして前の順序 (別の列から) を使用します。

    [並べ替え] メニューを使用したリスト ビューのスクリーン ショット

    この例では、[並べ替え] コンテキスト メニューによって並べ替え順序が変更されます。 [名前] を 1 回クリックすると、名前が昇順で並べ替えられます。 [名前] をもう一度クリックすると、名前で降順に並べ替えられます。

  • キーボードを使用してリスト ビューの列ヘッダーにアクセスできるようにします。

    • 開発者: これを行うには、列ヘッダー コントロールにフォーカスを設定します。 この機能は、Windows Vista では初めて使用できます。
  • リスト ビューを無効にする場合は、関連付けられているラベルとコマンド ボタンも無効にします。

  • 水平スクロールは避けてください。 リスト モードでは、水平スクロールが使用されます。 通常、このモードは最もコンパクトですが、水平スクロールは通常、垂直スクロールよりも使いにくいです。 コンパクト性が重要でない場合は、代わりに [小さいアイコン] ビューを使用することを検討してください。 ただし、リスト モードは、アルファベット順に並べ替えられた項目が多数あり、ワイド コントロールに十分な画面領域がある場合に適しています。

    普通:

    ワイド リスト モード コントロールのスクリーン ショット

    この例では、リスト モードを使用します。ワイド コントロールには多くの項目と十分な使用可能な画面領域があるためです。

複数選択リスト

  • 特にユーザーが複数の項目を選択する可能性がある場合は、選択した項目の数を一覧の下に表示することを検討してください。 この情報は有用なフィードバックを提供するだけでなく、リスト ビューが複数の選択をサポートしていることを明確に示しています。

    選択した 5 つのサムネイルの一覧のスクリーン ショット

    この例では、選択した項目の数が一覧の下に表示されます。

  • または、選択した項目の数の代わりに、選択に必要なリソースなど、より意味のある他の選択メトリックを指定することもできます。

    ディスク領域を示すダイアログ ボックスのスクリーン ショット

    この例では、コンポーネントのインストールに必要なディスク領域は、選択したコンポーネントの数よりも意味があります。

  • チェックボックスリストビューでは、潜在的に多くの項目があり、そのすべてを選択またはクリアする可能性がある場合は、[すべて選択] ボタンと [すべてクリア] コマンド ボタンを追加します。

  • コンテナー内の項目の部分的な選択を示すには、混合状態のチェック ボックスを使用します。 混合状態は、個々の項目の 3 番目の状態として使用されません。

ビューの変更

ユーザーがビューを変更できる場合:

  • 既定で最も便利なビューを選択します。 ユーザーが加えた変更は、ユーザーごとに、リストごとのビューで永続的に行う必要があります。

  • 分割ボタン、メニュー ボタン、またはドロップダウン リストを使用してビューを変更します。 実用的な場合は常に、ツールバーの 分割ボタン を使用し、現在のビューを反映するようにボタン ラベルを変更します。

    分割された 'views' ボタンを含むリストのスクリーン ショット

    この例では、ツールバーの分割ボタンを使用してビューを変更します。

  • [表示] コンテキスト メニューを指定します。

    'view' コンテキスト メニューを含むリストのスクリーン ショット

この例では、[表示] コンテキスト メニューを使用してビューを変更します。

詳細ビュー

  • タイル ビューを使用して読みやすくすることを検討してください。

    普通:

    細い列を含む詳細リストのスクリーン ショット

    この例では、データが多すぎて、ウィンドウ、リスト、列が小さすぎるため、リスト アイテムの読み取りが困難になります。

    より適切な例:

    グループ内のデータを含む詳細リストのスクリーン ショット

    この例では、タイル ビューは切り捨てなしでデータを表示します。

  • 最も長いデータに適した既定の列幅を選択します。 リスト ビューでは長いデータが省略記号で自動的に切り捨てられるため、既定で表示される省略記号が少ない場合は列の幅が適切です。 ユーザーは列のサイズを変更できますが、他のソリューションを使用します。

    • 各列の幅をデータに合わせてサイズ設定します。
    • コントロールの幅を、その列に加えてスクロール バーに合わせてサイズを変更します。
    • 必要に応じて、水平スクロールを使用します。
    • 奇数サイズのアイテムに対してのみ、または最後の手段としてデータを切り捨てます。

    標準サイズのデータを既定で切り捨てる必要がある場合は、ウィンドウとリスト ビューのサイズを変更できるようにします。 ローカライズされるテキスト (数字ではなく) に対して、さらに 30% (短いテキストの場合は最大 200%) を含めます。

    正しくない:

    切り捨てられたデータを含むリスト列のスクリーン ショット

    この例では、ほとんどのデータが切り捨てられます。 多くの省略記号は、コントロールと列の幅がデータに対して小さすぎることを明確に示しています。

    正しくない:

    切り捨てられたデータを含む 1 列リストのスクリーン ショット

    この例では、データは理由なく切り捨てられます。

  • 適切な既定の列の順序を選択します。 一般に、次のように列を並べ替えます。

    • 最初に、アイテム名または識別データ。
    • 次に、リスト アイテムを区別するのに役立つその他のデータです。
    • 次に、最も有用な(好ましくは短いまたは固定長の)データ。
    • 次に、データの有用性が低い (短いまたは固定長が望ましい) データ。
    • Last、long、variable-length データ。

    長い可変長データは、水平スクロールの必要性を減らすために、最後の列に配置されます。 これらのカテゴリ内で、関連情報を論理シーケンスにまとめます。

  • 必要に応じて、ユーザーが列を追加および削除したり、順序を変更したりできます。 既定で最も便利な列を表示します。 これは、ヘッダー ドラッグ ドロップ属性を使用して実現されます。

  • データに適した配置を選択します。 次の規則を使用します。

    • 数値、通貨、時刻を右揃えにします。
    • 左揃えのテキスト、ID (数値の場合でも)、日付。
  • 並べ替え可能な列見出しの場合、 見出しを最初にクリックすると、列の昇順でリストが並べ替えられます。2 番目のクリックは降順で並べ替えられます。 セカンダリ並べ替えキーとして、前の並べ替え順序 (別の列から) を使用します。

    並べ替えられたデータを含む詳細リストのスクリーン ショット

    この例では、最初に [名前] 列をクリックし、[Type] 列をクリックしました。 その結果、Type in ascending order is the primary sort key, and Name in ascending order is the secondary.

  • ユーザーがすべての列で選択した項目を簡単に判断できるように、行全体の選択属性を使用します。

  • データを並べ替えることができる場合を除き、並べ替え可能な列ヘッダーを使用しないでください。

  • 列が 1 つしかなく、並べ替えを逆にする必要がない場合は、列ヘッダーを使用しないでください。 代わりにラベルを使用してデータを識別します。

    正しくない:

    列ヘッダーにラベルが付いたリストのスクリーン ショット

    正確:

    コントロールの上にラベルがあるリストのスクリーン ショット

    正しい例では、列ヘッダーの代わりにラベルが使用されています。

リストのサイズ設定と間隔のスクリーン ショット

リスト ビューに推奨されるサイズ設定と間隔。

  • 項目の整数を表示するリスト ビューの高さを選択します。 項目を垂直方向に切り捨てないようにします。
  • サポートされているすべてのビューで不要な垂直および水平スクロールを排除するリスト ビュー サイズを選択します。 リスト ビューには、3 ~ 20 個のアイテムが表示されます。 スクロール バーが表示されなければ、リスト ビューを少し大きくすることを検討してください。 アイテムが多い可能性があるリストでは、一度にさらに多くの項目を表示し、スクロール バーを配置しやすくすることで、スクロールを容易にするために、少なくとも 5 つの項目を表示する必要があります。
  • ユーザーがリスト ビューを大きくするメリットがある場合は、リスト ビューとその親ウィンドウのサイズを変更できるようにします。 これにより、ユーザーは必要に応じてリスト ビューのサイズを調整できます。 ただし、サイズ変更可能なリスト ビューには、3 つ以下の項目が表示されます。

ラベル

コントロール ラベル

  • すべてのリスト ビューにはラベルが必要です。 ラベルを文としてではなく、静的テキストを使用してコロンで終わる単語または語句として書き込みます。

  • 各ラベルに一意の アクセス キー を割り当てます。 ガイドラインについては、「 キーボード」を参照してください。

  • 文形式の大文字を使用します

  • ラベルをコントロールの上に配置し、ラベルをコントロールの左端に揃えます。

  • 複数選択リスト ビューの場合は、複数選択が可能であることを明確に示すラベルを書き込みます。 チェック ボックスリストビューのラベルは、より明示的でない場合があります。

    正確:

    ラベルのスクリーン ショット: 1 つ以上のアドオンを選択する

    この例では、ラベルは複数の選択が可能であることを明確に示しています。

    正しくない:

    ラベルのスクリーン ショット: アドオン

    この例では、ラベルは複数選択に関する情報を提供しません。

    普通:

    チェックボックス リスト ラベルのスクリーン ショット: アドオン

    この例では、チェック ボックスは複数の選択が可能であることを明確に示しているため、ラベルを明示的にする必要はありません。

  • ラベルの後に、単位 (秒、接続など) をかっこで囲んで指定できます。

見出しラベル

  • 見出しラベルは簡潔にしてください (3 単語以下)。
  • 1 つの名詞または名詞句を使用し、終了句読点は使用しません。
  • 文形式の大文字を使用します
  • 見出しをデータと同じ方法で配置します。

ラベルをグループ化する

  • 大まかなコレクションには、次のグループ ラベルを使用します。
    • 名前: 名前または文字範囲の最初の文字を使用します。
    • サイズ: 指定なし、0 KB、0 ~ 10 KB、10 から 100 KB、100 KB - 1 MB、1-16 MB、16 から 128 MB
    • 日付: 今日、昨日、先週、今年の初め、昔。
  • それ以外の場合、グループ化ラベルは、グループ化されるデータの正確なテキストを使用します (大文字と小文字や句読点を含む)。

データ テキスト

指示テキスト

  • リスト ビューに関する説明テキストを追加する必要がある場合は、ラベルの上に追加します。 終了句読点で完全な文を使用します。
  • 文形式の大文字を使用します
  • 役に立ちますが、必要ない追加情報は短くしておく必要があります。 この情報は、ラベルとコロンの間にかっこで囲むか、コントロールの下にかっこを付けずに配置します。

ドキュメント

リスト ビューを参照する場合:

  • 大文字と小文字を含む正確なラベル テキストを使用しますが、アクセス キーのアンダースコアやコロンは含めず、単語リストを含めます。 リスト ボックスをリスト ボックス、リスト ビュー、またはフィールドとして参照しないでください。
  • リスト データの場合は、大文字と小文字を含む正確なデータ テキストを使用します。
  • リスト ビューは、プログラミングやその他の技術ドキュメントでのみリスト ビューとして参照してください。 他のすべての場所で list を使用します。
  • ユーザー操作を説明するには、データに select を使用し、見出しをクリックします。
  • 可能な場合は、太字のテキストを使用してラベルとリストのオプションの書式を設定します。 それ以外の場合は、混乱を防ぐために必要な場合にのみ、ラベルとオプションを引用符で囲みます。

例: [ プログラムとサービス ] の一覧で、[ ファイルとプリンターの共有] を選択します。

リスト ビューでチェック ボックスを参照する場合:

  • 大文字と小文字を含む正確なラベル テキストを使用し、[チェック ボックス] という単語を含めます。 アクセス キーのアンダースコアは含めないでください。
  • ユーザー操作を説明するには、select と clear を使用します。
  • 可能な場合は、太字のテキストを使用してラベルの書式を設定します。 それ以外の場合は、混乱を防ぐために必要な場合にのみ、ラベルを引用符で囲みます。

例: [下線チェック] ボックスを選択します。