ListView.View プロパティ

定義

コントロールに項目を表示する方法を取得または設定します。Gets or sets how items are displayed in the control.

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 値のいずれか。One of the View values. 既定値は、LargeIcon です。The default is LargeIcon.

例外

指定された値が View 値ではありません。The value specified is not one of the View values.

次のコード例では、3つの @no__t オブジェクトを指定し、各項目に対して3つの @no__t 2 つのオブジェクトを指定して、@no__t 0 のコントロールを作成します。The following code example creates a ListView control with three ListViewItem objects specified and three ListViewItem.ListViewSubItem objects specified for each item. また、この例では、詳細ビューにサブ項目を表示する @no__t 0 オブジェクトも作成します。The example also creates ColumnHeader objects to display the subitems in details view. 2つの @no__t 0 オブジェクトもコード例で作成され、ListViewItem オブジェクトのイメージを提供します。Two ImageList objects are also created in the code example to provide images for the ListViewItem objects. これらの ImageList オブジェクトは、LargeImageList プロパティと SmallImageList プロパティに追加されます。These ImageList objects are added to the LargeImageList and SmallImageList properties. この例では、ListView コントロールを作成するときに、次のプロパティを使用します。The example uses the following properties in creating the ListView control.

この例では、コードを @no__t 0 に追加し、コンストラクターまたはフォームの別のメソッドから例で作成したメソッドを呼び出す必要があります。This example requires that you have added the code to a Form and call the method created in the example from the constructor or another method on the form. また、この例では、MySmallImage1MySmallImage2MyLargeImage1、および MyLargeImage2 という名前のイメージが、C ドライブのルートディレクトリに配置されている必要があります。The example also requires that images named MySmallImage1, MySmallImage2, MyLargeImage1, and MyLargeImage2 are located in the root directory of drive 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

注釈

@No__t-0 プロパティを使用すると、@no__t 1 コントロールが項目を表示するために使用するディスプレイの種類を指定できます。The View property allows you to specify the type of display the ListView control uses to display items. @No__t-0 プロパティを設定して、大きいアイコンまたは小さいアイコンを使用して各項目を表示したり、一覧に項目を表示したりすることができます。You can set the View property to display each item with large or small icons or display items in a vertical list. 最も豊富なオプションは詳細ビューです。このビューでは、項目だけでなく、項目ごとに指定されたサブ項目も表示できます。The richest option is the details view, which allows you to view not only the items but any subitems specified for each item. 各項目がグリッドに表示され、各項目が垂直方向に表示され、各項目のサブ項目が列ヘッダーと共に列に表示されます。Each item is displayed in a grid, with each item listed vertically and the subitems for each item displayed in a column, with column headers. 詳細ビューは、データベース情報をユーザーに表示するための最適な方法です。The details view is a perfect way to display database information to a user. Windows XP と Windows Server 2003 では、選択したサブ項目情報と共に大きいアイコンを表示することで、グラフィックとテキストの情報を調整するタイルとして項目を表示することもできます。With Windows XP and Windows Server 2003, you can also display items as tiles that balance graphical and textual information by showing a large icon along with subitem information of your choosing. タイルビューを有効にするには、アプリケーションで Application.EnableVisualStyles メソッドを呼び出す必要があります。To enable tile view, your application must call the Application.EnableVisualStyles method. 小さいイメージビューでは、アイコンとテキスト情報を含む各項目がアイコンの右側に表示されます。The small-image view displays each item with an icon and textual information to the right of the icon. 大きなイメージのビューでは、アイコンとテキスト情報を含む各項目がアイコンの下に表示されます。The large-image view displays each item with an icon and textual information below the icon. イメージリストのアイコンのサイズは、SmallImageList プロパティまたは LargeImageList プロパティの ImageList の @no__t 0 プロパティによって指定されます。The size of the icons for the image list is specified by the ImageSize property of the ImageList for the SmallImageList or LargeImageList properties.

注意

複数のイメージリストを使用している場合、@no__t 0 のコントロールで、サイズの小さいサイズのアイコンを表示するには、イメージの小さいサイズと大きいバージョンを、それぞれのイメージリストの同じインデックス位置に配置する必要があります。If you are using multiple image lists, for small and large icon view, with a ListView control, you should place small and large versions of the image at the same index location in their respective image lists. ビューを切り替えるときに、指定したキー値に関係なく、1つのリストに含まれる画像のインデックス位置を使用して、他の一覧の画像が検索されます。When switching between views, the index location of the image in one list is used to locate the image in the other list, regardless of the key value specified.

@No__t 0 コントロールのほとんどのプロパティは、さまざまなビューの動作または表示方法に影響します。Most of the properties in the ListView control affect how the different views behave or are displayed. アイテムのビューに影響を与える一部のプロパティは、@no__t 0 プロパティが特定の値に設定されている場合にのみ役立ちます。また、他のプロパティはすべてのビューで役に立ちます。Some properties that affect the views of the items are only useful when the View property is set to a specific value, while others are useful in all views. たとえば、GridLinesFullRowSelect などのプロパティは、View プロパティが View.Details に設定されている場合にのみ役立ちます。また、MultiSelect プロパティと @no__t 5 プロパティは、すべてのビューで役立ちます。For example, properties such as GridLines and FullRowSelect are only useful when the View property is set to View.Details, while the MultiSelect and CheckBoxes properties are useful in all views.

次の表に、@no__t 0 のメンバーと、それらがで有効なビューの一部を示します。The following table shows some of the ListView members and the views they are valid in.

ListView メンバーListView member ViewView
Alignment プロパティAlignment property SmallIcon または LargeIconSmallIcon or LargeIcon
AutoArrange プロパティAutoArrange property SmallIcon または LargeIconSmallIcon or LargeIcon
AutoResizeColumn メソッドAutoResizeColumn method Details
CheckBoxes @No__t を除くすべてのビュー-0All views except Tile
Columns プロパティColumns property Details または TileDetails or Tile
DrawSubItem イベントDrawSubItem event Details
FindItemWithText メソッドFindItemWithText method DetailsList、または TileDetails, List, or Tile
FindNearestItem メソッドFindNearestItem method SmallIcon または LargeIconSmallIcon or LargeIcon
GetItemAt メソッドGetItemAt method Details または TileDetails or Tile
Groups プロパティGroups property @No__t を除くすべてのビュー-0All views except List
HeaderStyle プロパティHeaderStyle property Details
InsertionMark プロパティInsertionMark property LargeIconSmallIcon、または TileLargeIcon, SmallIcon, or Tile

@No__t-0 プロパティを使用して、アプリケーション内のさまざまなデータビューを提供したり、特定のビューをロックしてそのビューの利点を活用したりできます。You can use the View property to provide different views of data in your application, or to lock a specific view to utilize that view's benefits. たとえば、View プロパティは、多くの場合、View.Details に設定されます。これは、詳細ビューには、他のビューでは使用できない表示オプションが多数用意されているためです。For example, the View property is often set to View.Details because the details view provides a number of viewing options not available in the other views.

注意

@No__t 0 コントロールに列ヘッダーが指定されておらず、View プロパティを View.Details に設定した場合、ListView コントロールは項目を表示しません。If your ListView control does not have any column headers specified and you set the View property to View.Details, the ListView control will not display any items. @No__t 0 コントロールに列ヘッダーが指定されておらず、View プロパティを View.Tile に設定した場合、ListView コントロールはサブ項目を表示しません。If your ListView control does not have any column headers specified and you set the View property to View.Tile, the ListView control will not display any subitems.

タイルビューには、左側に大きなアイコンが表示され、右側にテキスト情報が表示されます。The tile view displays each item with a large icon on the left and textual information on the right. テキスト情報は、項目ラベルの後にサブ項目が続く形式で構成されます。The textual information consists of the item label followed by subitems. 既定では、アイテムラベルに対応する最初のサブアイテムのみが表示されます。By default, only the first subitem is displayed, which corresponds to the item label. 追加のサブ項目を表示するには、@no__t 0 のオブジェクトを Columns コレクションに追加する必要があります。To display additional subitems, you must add ColumnHeader objects to the Columns collection. タイル内の各サブ項目は、列ヘッダーに対応しています。Each subitem in the tile corresponds to a column header. 表示されるサブ項目とその表示順序を制御するには、各項目の ListViewItem.ListViewSubItem.Name プロパティと、各ヘッダーの ColumnHeader.Name プロパティを設定する必要があります。To control which subitems are displayed and the order in which they are displayed, you must set the ListViewItem.ListViewSubItem.Name property for each item and the ColumnHeader.Name property for each header. その後、@no__t 0 のコレクションでヘッダーを追加、削除、および再配置して、目的の結果を得ることができます。You can then add, remove, and rearrange headers in the Columns collection to achieve the desired result.

タイルビューでタイルのサイズを制御するには、TileSize プロパティを設定します。To control the size of the tiles in the tile view, set the TileSize property. これは、サブ項目のテキストが1行に対して長すぎる場合に、行の折り返しを防止するために役立ちます。This is useful to prevent line-wrapping when subitem text is too long for a single line.

タイルビューの例については、TileSize プロパティを参照してください。For an example of the tile view, see the TileSize property.

注意

列は詳細ビューにのみ表示されますが、列ヘッダーのないサブ項目は詳細ビューまたはタイルビューに表示されません。Although columns are only displayed in the details view, subitems without column headers will not display in either the details view or the tile view.

アプリケーションが Application.EnableVisualStyles メソッドを呼び出すと、タイルビューは Windows XP と Windows Server 2003 でのみ使用できます。The tile view is available only on Windows XP and Windows Server 2003 when your application calls the Application.EnableVisualStyles method. 旧バージョンのオペレーティング システムでは、並べて表示ビューに関するコードがすべて無効になり、ListView コントロールは大きなアイコンのビューで表示されます。On earlier operating systems, any code related to the tile view has no effect, and the ListView control displays in the large icon view. その結果、タイルビューに依存するすべてのコードが正しく機能しなくなる可能性があります。As a result, any code that depends on the tile view might not work correctly.

タイルビューが使用可能かどうかを判断し、使用できない場合に代替機能を提供するコードを含めることもできます。You might want to include code that determines whether tile view is available, and provide alternate functionality when it is unavailable. たとえば、オーナー描画を使用して、タイルビューの @no__t 0 項目の外観をカスタマイズする場合、タイルビューをサポートしていないオペレーティングシステムで実行しているときに、大きいアイコンビューに適した描画コードを使用することができます。For example, when you use owner drawing to customize the appearance of ListView items in the tile view, you might want to use drawing code appropriate to the large icon view when running on operating systems that do not support the tile view.

タイルビュー機能は、オペレーティングシステムのテーマ機能を提供するのと同じライブラリによって提供されます。The tile view feature is provided by the same library that provides the operating system themes feature. このライブラリが使用可能かどうかを確認するには、FeatureSupport.IsPresent(Object) メソッドオーバーロードを呼び出し、OSFeature.Themes の値を渡します。To check for the availability of this library, call the FeatureSupport.IsPresent(Object) method overload and pass in the OSFeature.Themes value.

適用対象

こちらもご覧ください