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

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

例外

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

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

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

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 ます。 小さいイメージビューでは、アイコンとテキスト情報を含む各項目がアイコンの右側に表示されます。 大きなイメージのビューでは、アイコンとテキスト情報を含む各項目がアイコンの下に表示されます。 イメージリストのアイコンのサイズは、 ImageSize ImageList プロパティまたはプロパティののプロパティによって指定され SmallImageList LargeImageList ます。

注意

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

コントロールのプロパティのほとんどは、 ListView さまざまなビューの動作や表示方法に影響します。 アイテムのビューに影響を与える一部のプロパティは、プロパティが特定の値に設定されている場合にのみ役立ち View ます。また、他のプロパティはすべてのビューで役に立ちます。 たとえば、やなどのプロパティは、 GridLines FullRowSelect プロパティがに設定されている場合にのみ役に立ち View View.Details 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 列ヘッダーが指定されていない場合に、 View プロパティをに設定すると View.Details 、コントロールには項目が表示され ListView ません。 コントロールに ListView 列ヘッダーが指定されていない場合に、 View プロパティをに設定すると View.Tile 、コントロールにはサブ項目が表示され ListView ません。

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

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

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

注意

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

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

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

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

適用対象

こちらもご覧ください