ListView.View プロパティ

定義

コントロールに項目を表示する方法を取得または設定します。

public:
 property System::Windows::Forms::View View { System::Windows::Forms::View get(); void set(System::Windows::Forms::View value); };
public System.Windows.Forms.View View { get; set; }
member this.View : System.Windows.Forms.View with get, set
Public Property View As View

プロパティ値

View 値のいずれか 1 つ。 既定値は、LargeIcon です。

例外

指定された値が View 値ではありません。

次のコード例では、3 つのListViewItemオブジェクトをListView指定し、項目ごとに 3 つのListViewItem.ListViewSubItemオブジェクトを指定してコントロールを作成します。 この例では、詳細ビューにサブ項目を表示するオブジェクトも作成 ColumnHeader します。 コード例では、オブジェクトのイメージListViewItemを提供するために、2 つのImageListオブジェクトも作成されます。 これらのImageListオブジェクトは、 プロパティと SmallImageList プロパティにLargeImageList追加されます。 この例では、コントロールの作成に次のプロパティを ListView 使用します。

この例では、 に Form コードを追加し、この例で作成したメソッドをフォームのコンストラクターまたは別のメソッドから呼び出す必要があります。 この例では、 という名前MySmallImage1MySmallImage2MyLargeImage1MyLargeImage2のイメージがドライブ C のルート ディレクトリに配置されている必要もあります。

private:
   void CreateMyListView()
   {
      // Create a new ListView control.
      ListView^ listView1 = gcnew ListView;
      listView1->Bounds = Rectangle(Point(10,10),System::Drawing::Size( 300, 200 ));

      // Set the view to show details.
      listView1->View = View::Details;

      // Allow the user to edit item text.
      listView1->LabelEdit = true;

      // Allow the user to rearrange columns.
      listView1->AllowColumnReorder = true;

      // Display check boxes.
      listView1->CheckBoxes = true;

      // Select the item and subitems when selection is made.
      listView1->FullRowSelect = true;

      // Display grid lines.
      listView1->GridLines = true;

      // Sort the items in the list in ascending order.
      listView1->Sorting = SortOrder::Ascending;

      // Create three items and three sets of subitems for each item.
      ListViewItem^ item1 = gcnew ListViewItem( "item1",0 );

      // Place a check mark next to the item.
      item1->Checked = true;
      item1->SubItems->Add( "1" );
      item1->SubItems->Add( "2" );
      item1->SubItems->Add( "3" );
      ListViewItem^ item2 = gcnew ListViewItem( "item2",1 );
      item2->SubItems->Add( "4" );
      item2->SubItems->Add( "5" );
      item2->SubItems->Add( "6" );
      ListViewItem^ item3 = gcnew ListViewItem( "item3",0 );

      // Place a check mark next to the item.
      item3->Checked = true;
      item3->SubItems->Add( "7" );
      item3->SubItems->Add( "8" );
      item3->SubItems->Add( "9" );

      // Create columns for the items and subitems.
      // Width of -2 indicates auto-size.
      listView1->Columns->Add( "Item Column", -2, HorizontalAlignment::Left );
      listView1->Columns->Add( "Column 2", -2, HorizontalAlignment::Left );
      listView1->Columns->Add( "Column 3", -2, HorizontalAlignment::Left );
      listView1->Columns->Add( "Column 4", -2, HorizontalAlignment::Center );

      //Add the items to the ListView.
      array<ListViewItem^>^temp1 = {item1,item2,item3};
      listView1->Items->AddRange( temp1 );

      // Create two ImageList objects.
      ImageList^ imageListSmall = gcnew ImageList;
      ImageList^ imageListLarge = gcnew ImageList;

      // Initialize the ImageList objects with bitmaps.
      imageListSmall->Images->Add( Bitmap::FromFile( "C:\\MySmallImage1.bmp" ) );
      imageListSmall->Images->Add( Bitmap::FromFile( "C:\\MySmallImage2.bmp" ) );
      imageListLarge->Images->Add( Bitmap::FromFile( "C:\\MyLargeImage1.bmp" ) );
      imageListLarge->Images->Add( Bitmap::FromFile( "C:\\MyLargeImage2.bmp" ) );

      //Assign the ImageList objects to the ListView.
      listView1->LargeImageList = imageListLarge;
      listView1->SmallImageList = imageListSmall;
      
      // Add the ListView to the control collection.
      this->Controls->Add( listView1 );
   }
private void CreateMyListView()
{
    // Create a new ListView control.
    ListView listView1 = new ListView();
    listView1.Bounds = new Rectangle(new Point(10,10), new Size(300,200));

    // Set the view to show details.
    listView1.View = View.Details;
    // Allow the user to edit item text.
    listView1.LabelEdit = true;
    // Allow the user to rearrange columns.
    listView1.AllowColumnReorder = true;
    // Display check boxes.
    listView1.CheckBoxes = true;
    // Select the item and subitems when selection is made.
    listView1.FullRowSelect = true;
    // Display grid lines.
    listView1.GridLines = true;
    // Sort the items in the list in ascending order.
    listView1.Sorting = SortOrder.Ascending;
                
    // Create three items and three sets of subitems for each item.
    ListViewItem item1 = new ListViewItem("item1",0);
    // Place a check mark next to the item.
    item1.Checked = true;
    item1.SubItems.Add("1");
    item1.SubItems.Add("2");
    item1.SubItems.Add("3");
    ListViewItem item2 = new ListViewItem("item2",1);
    item2.SubItems.Add("4");
    item2.SubItems.Add("5");
    item2.SubItems.Add("6");
    ListViewItem item3 = new ListViewItem("item3",0);
    // Place a check mark next to the item.
    item3.Checked = true;
    item3.SubItems.Add("7");
    item3.SubItems.Add("8");
    item3.SubItems.Add("9");

    // Create columns for the items and subitems.
    // Width of -2 indicates auto-size.
    listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
    listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center);

    //Add the items to the ListView.
    listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3});

    // Create two ImageList objects.
    ImageList imageListSmall = new ImageList();
    ImageList imageListLarge = new ImageList();

    // Initialize the ImageList objects with bitmaps.
    imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage1.bmp"));
    imageListSmall.Images.Add(Bitmap.FromFile("C:\\MySmallImage2.bmp"));
    imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage1.bmp"));
    imageListLarge.Images.Add(Bitmap.FromFile("C:\\MyLargeImage2.bmp"));

    //Assign the ImageList objects to the ListView.
    listView1.LargeImageList = imageListLarge;
    listView1.SmallImageList = imageListSmall;

    // Add the ListView to the control collection.
    this.Controls.Add(listView1);
}
Private Sub CreateMyListView()
    ' Create a new ListView control.
    Dim listView1 As New ListView()
    listView1.Bounds = New Rectangle(New Point(10, 10), New Size(300, 200))

    ' Set the view to show details.
    listView1.View = View.Details
    ' Allow the user to edit item text.
    listView1.LabelEdit = True
    ' Allow the user to rearrange columns.
    listView1.AllowColumnReorder = True
    ' Display check boxes.
    listView1.CheckBoxes = True
    ' Select the item and subitems when selection is made.
    listView1.FullRowSelect = True
    ' Display grid lines.
    listView1.GridLines = True
    ' Sort the items in the list in ascending order.
    listView1.Sorting = SortOrder.Ascending

    ' Create three items and three sets of subitems for each item.
    Dim item1 As New ListViewItem("item1", 0)
    ' Place a check mark next to the item.
    item1.Checked = True
    item1.SubItems.Add("1")
    item1.SubItems.Add("2")
    item1.SubItems.Add("3")
    Dim item2 As New ListViewItem("item2", 1)
    item2.SubItems.Add("4")
    item2.SubItems.Add("5")
    item2.SubItems.Add("6")
    Dim item3 As New ListViewItem("item3", 0)
    ' Place a check mark next to the item.
    item3.Checked = True
    item3.SubItems.Add("7")
    item3.SubItems.Add("8")
    item3.SubItems.Add("9")

    ' Create columns for the items and subitems.
    ' Width of -2 indicates auto-size.
    listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left)
    listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left)
    listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left)
    listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center)

    'Add the items to the ListView.
    listView1.Items.AddRange(New ListViewItem() {item1, item2, item3})

    ' Create two ImageList objects.
    Dim imageListSmall As New ImageList()
    Dim imageListLarge As New ImageList()

    ' Initialize the ImageList objects with bitmaps.
    imageListSmall.Images.Add(Bitmap.FromFile("C:\MySmallImage1.bmp"))
    imageListSmall.Images.Add(Bitmap.FromFile("C:\MySmallImage2.bmp"))
    imageListLarge.Images.Add(Bitmap.FromFile("C:\MyLargeImage1.bmp"))
    imageListLarge.Images.Add(Bitmap.FromFile("C:\MyLargeImage2.bmp"))

    'Assign the ImageList objects to the ListView.
    listView1.LargeImageList = imageListLarge
    listView1.SmallImageList = imageListSmall

    ' Add the ListView to the control collection.
    Me.Controls.Add(listView1)
End Sub

注釈

Viewプロパティを使用すると、コントロールが項目の表示に使用するListView表示の種類を指定できます。 プロパティを View 設定して、大小のアイコンで各項目を表示したり、項目を縦のリストに表示したりできます。 最も豊富なオプションは詳細ビューです。これにより、アイテムだけでなく、各項目に対して指定されたサブ項目も表示できます。 各項目はグリッドに表示され、各項目は垂直方向に一覧表示され、各アイテムのサブ項目は列見出しと共に列に表示されます。 詳細ビューは、データベース情報をユーザーに表示するのに最適な方法です。 Windows XP および Windows Server 2003 では、大きなアイコンと選択したサブ項目情報を表示することで、グラフィカル情報とテキスト情報のバランスを取るタイルとしてアイテムを表示することもできます。 タイル ビューを有効にするには、アプリケーションで メソッドを Application.EnableVisualStyles 呼び出す必要があります。 小さな画像ビューには、アイコンとアイコンの右側にテキスト情報が表示された各項目が表示されます。 大きな画像ビューには、アイコンとアイコンの下にテキスト情報を含む各項目が表示されます。 イメージ リストのアイコンのサイズは、 または LargeImageList プロパティの ImageSizeImageListSmallImageList プロパティによって指定されます。

注意

複数のイメージ リストを使用している場合は、小さいアイコン ビューと大きいアイコン ビューをコントロールで ListView 使用する場合は、それぞれのイメージ リスト内の同じインデックス位置に、小さいバージョンと大きなバージョンのイメージを配置する必要があります。 ビューを切り替える場合、指定されたキー値に関係なく、一方のリスト内のイメージのインデックス位置を使用して、もう一方のリスト内のイメージを検索します。

コントロールのほとんどのプロパティは、 ListView さまざまなビューの動作や表示方法に影響します。 アイテムのビューに影響を与えるプロパティの中には、プロパティが特定の値に設定されている場合 View にのみ役立つプロパティもあれば、すべてのビューで役立つプロパティもあります。 たとえば、 や などのGridLinesFullRowSelectプロパティは、 プロパティが にView.Details設定されている場合Viewにのみ役立ちますが、 MultiSelect プロパティと CheckBoxes プロパティはすべてのビューで役立ちます。

次の表は、一部の ListView メンバーと、それらが有効なビューを示しています。

ListView のメンバー View
Alignment プロパティ SmallIcon または LargeIcon
AutoArrange プロパティ SmallIcon または LargeIcon
AutoResizeColumn メソッド Details
CheckBoxes Tile を除くすべてのビュー
Columns プロパティ Details または Tile
DrawSubItem イベント Details
FindItemWithText メソッド DetailsList、または Tile
FindNearestItem メソッド SmallIcon または LargeIcon
GetItemAt メソッド Details または Tile
Groups プロパティ List を除くすべてのビュー
HeaderStyle プロパティ Details
InsertionMark プロパティ LargeIconSmallIcon、または Tile

プロパティを View 使用すると、アプリケーション内のさまざまなデータ ビューを提供したり、特定のビューをロックしてそのビューの利点を利用したりできます。 たとえば、詳細ビューには他の View ビューでは使用できない表示オプションが多数用意されているため、 プロパティは に設定 View.Details されることがよくあります。

注意

コントロールに ListView 列ヘッダーが指定されておらず、 プロパティを ViewView.Details設定した場合、 ListView コントロールには項目は表示されません。 コントロールに ListView 列ヘッダーが指定されておらず、 プロパティを ViewView.Tile設定した場合、 ListView コントロールにはサブ項目は表示されません。

タイル ビューには、各項目が左側に大きなアイコンが表示され、右側にテキスト情報が表示されます。 テキスト情報は、項目ラベルの後にサブ項目が続くもので構成されます。 既定では、項目ラベルに対応する最初のサブ項目のみが表示されます。 追加のサブ項目を表示するには、オブジェクトをコレクションに追加 ColumnHeader する Columns 必要があります。 タイル内の各サブ項目は、列ヘッダーに対応します。 表示するサブ項目と表示順序を制御するには、各項目の プロパティと各ヘッダーの プロパティをColumnHeader.Name設定ListViewItem.ListViewSubItem.Nameする必要があります。 その後、コレクション内の Columns ヘッダーを追加、削除、再配置して、目的の結果を得ることができます。

タイル ビューのタイルのサイズを制御するには、 プロパティを TileSize 設定します。 これは、サブ項目のテキストが 1 行に対して長すぎる場合に行の折り返しを防ぐのに役立ちます。

タイル ビューの例については、 プロパティを TileSize 参照してください。

注意

列は詳細ビューにのみ表示されますが、列ヘッダーのないサブ項目は詳細ビューまたはタイル ビューには表示されません。

タイル ビューは、アプリケーションが メソッドを呼び出 Application.EnableVisualStyles すときに、Windows XP および Windows Server 2003 でのみ使用できます。 旧バージョンのオペレーティング システムでは、並べて表示ビューに関するコードがすべて無効になり、ListView コントロールは大きなアイコンのビューで表示されます。 その結果、タイル ビューに依存するコードが正しく機能しない可能性があります。

タイル ビューを使用できるかどうかを決定するコードを含め、使用できない場合は代替機能を提供することができます。 たとえば、所有者描画を使用してタイル ビュー内のアイテムの ListView 外観をカスタマイズする場合、タイル ビューをサポートしていないオペレーティング システムで実行するときに、大きなアイコン ビューに適した描画コードを使用できます。

タイル ビュー機能は、オペレーティング システムのテーマ機能を提供するのと同じライブラリによって提供されます。 このライブラリの可用性をチェックするには、 メソッド オーバーロードをFeatureSupport.IsPresent(Object)呼び出して 値をOSFeature.Themes渡します。

適用対象

こちらもご覧ください