ListView クラスとは? わかりやすく解説

ListView クラス

4 つ異なビュー1 つ使用して表示できる項目のコレクション表示するWindows リスト ビュー コントロール表します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class ListView
    Inherits Control
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class ListView : Control
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] 
public ref class ListView : public
 Control
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class ListView extends Control
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
public class ListView extends
 Control
解説解説

ListView コントロール使用すると、項目の一覧と共に、項目のテキスト、およびオプションとして項目の型を識別するアイコン表示できます。たとえば、Windows エクスプローラファイルの一覧の表示形式ListView コントロール似てます。ツリーの中で現在選択されているファイルおよびフォルダの一覧が表示されます。ファイルおよびフォルダには関連付けられているアイコン表示されるため、それによってファイルフォルダ種類識別できます。ListViewItem クラスは、ListView コントロール内の項目を表します。一覧に表示される項目は、5 つ異なビュー1 つ表示できます。項目は、大きアイコン小さアイコン、または垂直方向の一覧の中の小さアイコンとして表示できますまた、項目は親項目関連する情報を含むサブ項目を持つこともできます詳細ビュー使用すると、項目とそのサブ項目を、サブ項目に表示される情報識別するヘッダー付いたグリッド表示できますタイル ビューは、後述のように使用できない場合ありますが、タイル ビュー使用すると、項目とそのサブ項目を、テキスト情報の横に大きなアイコン配置されタイルとして表示できますListView では、単一選択または複数選択サポートされています。複数選択機能があるため、ユーザーListBox コントロール同様の方法で項目の一覧から選択できます。さらに、ユーザー選択した項目をアクティブにして、タスク実行できます。たとえば、ListView コントロール使用してアプリケーション開いて利用できるファイルの一覧を表示できますユーザーは開くファイル選択しダブルクリックして項目をアクティブにし、アプリケーションでそのファイルを開くことができますまた、ListView では、CheckBoxes プロパティ使用してチェック ボックス表示できますチェック ボックス使用すると、ユーザーアクション実行する対象の項目をチェックできますListView コントロールは、さまざまな用途使用できますコントロール使用してアプリケーションデータベース、またはテキスト ファイルから情報表示できますまた、ListView使用すると、処理対象ファイルセット選択など、ユーザーからの情報取得できます

ListView には、表示形式動作柔軟性提供する多数プロパティ用意されています。View プロパティ使用すると、項目の表示方法変更できます。LargeImageList、SmallImageList、StateImageList の各プロパティ使用すると、項目に対して表示されるイメージ格納した ImageList オブジェクト指定できる他、StateImageList場合には、CheckBoxes プロパティtrue設定されているときに表示されるチェック ボックス指定できます。どの項目がチェックされているかを確認するには、CheckedItems プロパティ使用して ListView.CheckedListViewItemCollection コレクションアクセスます。Columns プロパティ使用してコントロールView プロパティDetails設定されているときに表示されるヘッダー格納している ListView.ColumnHeaderCollection にアクセスできます。項目は、Items プロパティ使用して ListView追加および削除されます。Items プロパティ使用すると、コントロールの項目を操作するためのメソッド提供するコントロールの ListView.ListViewItemCollection にアクセスできますユーザーが項目のテキスト編集できるようにするには、LabelEdit プロパティ使用しますコントロール多数の項目が含まれる場合は、ユーザーにとって、並べ替えられたリストの方が見やすくなりますSorting プロパティ使用すると、項目がアルファベット順並べ替えられます。また、ListView コントロール外観を完全にカスタマイズすることもできます。これを行うには、OwnerDraw プロパティtrue設定し、DrawItem、DrawSubItem、DrawColumnHeader の各イベントいずれか 1 つ以上を処理します

ListView コントロールプロパティ多くは、コントロールView プロパティDetails設定されているときに使用されます。AllowColumnReorder プロパティ使用すると、ListView コントロールユーザー実行時列の順序再設定できます。FullRowSelect プロパティ使用すると、項目だけでなく、項目とそのサブ項目を選択できます詳細ビューグリッド線表示して ListView の項目とサブ項目の境界識別するには、GridLines プロパティ使用します。HeaderStyle プロパティ使用すると、表示するヘッダー種類指定できます

ListView コントロール使用できる多数プロパティ加えてListView追加の機能提供するためにアプリケーション使用できるメソッドおよびイベントあります。BeginUpdate メソッドと EndUpdate メソッド使用すると、項目が追加されるたびにコントロールが再描画されないようにすることにより、ListView多数の項目を追加した場合パフォーマンス向上しますListView コントロールが項目およびサブ項目を表示している場合は、ユーザーサブ項目を右クリックしたときに機能提供する必要がありますサブ項目がクリックされた項目を確認するには、GetItemAt メソッド使用しますユーザーが項目を編集した後で、項目の検証実行するときに、変更する必要のある特定の項目をユーザー表示する必要があります。EnsureVisible メソッド呼び出すと、特定の項目をコントロール表示領域入れることができます

LabelEdit プロパティtrue設定されている場合は、BeforeLabelEdit イベントおよび AfterLabelEdit イベントイベント ハンドラ作成することによって、テキスト変更前後編集対象テキスト検証などのタスク実行できますファイルオープンListView表示される項目編集するダイアログ ボックス表示などのタスク実行するには、ItemActivate イベントイベント ハンドラ作成しますユーザーが列ヘッダークリックするListView で項目を並べ替えられるようにするには、並べ替え実行する ColumnClick イベントイベント ハンドラ作成しますCheckBoxes プロパティtrue設定されている場合は、ItemCheck イベント処理することによって、項目のチェックの状態にいつ変更あったか確認できます

また、BackgroundImage プロパティ使用してListView背景イメージ設定することもできますListView コントロール背景イメージ正しく表示するには、アプリケーションMain メソッドに STAThreadAttribute が存在する必要があります。さらに、背景イメージ使用した ListView コントロールInternet Explorerホストされる場合は、アプリケーションマニフェスト ファイルで comctl32.dll Version 6.0依存アセンブリとして指定して背景イメージ正しく表示されるようにします。

メモメモ

ListView コントロールCursor プロパティ設定しても、.NET Framework Version 1.1 以前カーソル外観には反映されません。

Windows XP および Windows Server 2003 には、アプリケーションから Application.EnableVisualStyles メソッド呼び出され場合ListView コントロール拡張するタイル ビューグループ化、および挿入マーク3 つの機能用意されています。

タイル ビュー使用すると、大きなアイコンの横に項目とサブ項目を表示することにより、グラフィックス情報テキスト情報バランスをとることができます。この動作有効にするには、View プロパティを View.Tile に設定します

グループ化機能使用すると、項目を関連カテゴリビジュアルにグループ化できます。この機能有効にする場合は、Groups プロパティ使用して、ListViewGroup オブジェクトListView コントロール追加します。この機能一時的に無効にするには、ShowGroups プロパティfalse設定します

挿入マーク機能使用すると、ドロップ位置を示すビジュアルなフィードバック利用したドラッグ アンド ドロップによる項目の再配置実現できます挿入マーク表示するには、InsertionMark プロパティ通じて取得した ListViewInsertionMark オブジェクト使用します

これらの機能は、Windows XP および Windows Server 2003 でだけ使用できますそれより前のプラットフォームでは、これらの機能関連するコード無効で、タイル ビュー大きなアイコンビューとして表示され挿入マークグループ表示されません。場合によっては、これらの機能使用できるかどうか確認し使用できない場合代替機能を提供するコード用意します。これらの機能は、オペレーティング システムテーマ機能提供しているライブラリと同じライブラリによって提供されます。このライブラリ使用できるかどうか確認するには、FeatureSupport.IsPresent(Object) メソッド オーバーロード呼び出し、OSFeature.Themes 値を渡します

ListView メンバ一部、およびそれらが有効なビュー次の表に示します

ListView メンバ

ビュー

Alignment プロパティ

SmallIcon または LargeIcon

AutoArrange プロパティ

SmallIcon または LargeIcon

AutoResizeColumn メソッド

Details

Columns プロパティ

Details または Tile

DrawSubItem イベント

Details

FindItemWithText メソッド

DetailsList、または Tile

FindNearestItem メソッド

SmallIcon または LargeIcon

GetItemAt メソッド

Details または Tile

Groups プロパティ

List 以外のすべてのビュー

HeaderStyle プロパティ

Details

InsertionMark プロパティ

LargeIconSmallIcon、または Tile

使用例使用例

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

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

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.
    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 'CreateMyListView

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.
    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:
   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.
      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.set_Bounds(new Rectangle(new
 Point(10, 10), 
        new Size(300, 200)));

    // Set the view to show details.
    listView1.set_View(View.Details);

    // Allow the user to edit item text.
    listView1.set_LabelEdit(true);

    // Allow the user to rearrange columns.
    listView1.set_AllowColumnReorder(true);

    // Display check boxes.
    listView1.set_CheckBoxes(true);

    // Select the item and subitems when selection is made.
    listView1.set_FullRowSelect(true);

    // Display grid lines.
    listView1.set_GridLines(true);

    // Sort the items in the list in ascending order.
    listView1.set_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.set_Checked(true);

    item1.get_SubItems().Add("1");
    item1.get_SubItems().Add("2");
    item1.get_SubItems().Add("3");

    ListViewItem item2 = new ListViewItem("item2", 1);
    item2.get_SubItems().Add("4");
    item2.get_SubItems().Add("5");
    item2.get_SubItems().Add("6");

    ListViewItem item3 = new ListViewItem("item3", 0);

    // Place a check mark next to the item.
    item3.set_Checked(true);

    item3.get_SubItems().Add("7");
    item3.get_SubItems().Add("8");
    item3.get_SubItems().Add("9");

    // Create columns for the items and subitems.
    listView1.get_Columns().Add("Item Column", -2, 
        HorizontalAlignment.Left);
    listView1.get_Columns().Add("Column 2", -2, HorizontalAlignment.Left);
    listView1.get_Columns().Add("Column 3", -2, HorizontalAlignment.Left);
    listView1.get_Columns().Add("Column 4", -2, HorizontalAlignment.Center);

    //Add the items to the ListView.
    listView1.get_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.get_Images().Add(Bitmap.FromFile(
        "C:\\MySmallImage1.bmp"));
    imageListSmall.get_Images().Add(Bitmap.FromFile(
        "C:\\MySmallImage2.bmp"));
    imageListLarge.get_Images().Add(Bitmap.FromFile(
        "C:\\MyLargeImage1.bmp"));
    imageListLarge.get_Images().Add(Bitmap.FromFile(
        "C:\\MyLargeImage2.bmp"));

    //Assign the ImageList objects to the ListView.
    listView1.set_LargeImageList(imageListLarge);
    listView1.set_SmallImageList(imageListSmall);

    // Add the ListView to the control collection.
    this.get_Controls().Add(listView1);
} //CreateMyListView
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
        System.Windows.Forms.ListView
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ListView クラス」の関連用語

ListView クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ListView クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS