ListView.View プロパティ
コントロールに項目を表示する方法を取得または設定します。
名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文
'宣言
Public Property View As View
'使用
Dim instance As ListView
Dim value As View
value = instance.View
instance.View = value
public View View { get; set; }
public:
property View View {
View get ();
void set (View value);
}
/** @property */
public View get_View ()
/** @property */
public void set_View (View value)
public function get View () : View
public function set View (value : View)
プロパティ値
View 値の 1 つ。既定値は LargeIcon です。
例外
例外の種類 | 条件 |
---|---|
指定された値が View 値ではありません。 |
解説
View プロパティを使用すると、ListView コントロールで項目の表示に使用する表示の種類を指定できます。View プロパティを設定して、各項目を大きいアイコンまたは小さいアイコンで各項目を表示したり、垂直方向の一覧に項目を表示したりできます。最も豊富な機能を持つオプションは詳細ビューで、項目だけでなく各項目に対して指定されているすべてのサブ項目も表示できます。各項目はグリッドで表示されます。各項目は垂直方向に一覧表示され、そのサブ項目は列ヘッダーの付きの列で表示されます。詳細ビューは、ユーザーにデータベース情報を表示する完璧な方法です。Windows XP および Windows Server 2003 では、選択したサブ項目情報と共に大きなアイコンを表示することによって、グラフィックスの情報とテキストの情報のバランスがとれたタイルとして項目を表示することもできます。タイル ビューを有効にするには、アプリケーションから Application.EnableVisualStyles メソッドを呼び出す必要があります。小さなイメージのビューでは、各項目がアイコンとテキストの情報で表示され、テキストの情報はアイコンの右側に表示されます。大きなイメージのビューでは、各項目がアイコンとテキストの情報で表示され、テキストの情報はアイコンの下に表示されます。イメージ リストのアイコンのサイズは、SmallImageList プロパティまたは LargeImageList プロパティの ImageList の ImageSize プロパティで指定します。
ListView コントロールのほとんどのプロパティは、さまざまなビューの動作方法や表示方法に影響を与えます。項目のビューに影響を与える一部のプロパティは、View プロパティが特定の値に設定されているときだけ有効ですが、その他のプロパティはすべてのビューで有効です。たとえば、GridLines や FullRowSelect などのプロパティは、View プロパティが View.Details に設定されているときだけ有効ですが、MultiSelect プロパティおよび CheckBoxes プロパティはすべてのビューで有効です。
ListView メンバの一部、およびそれらが有効なビューを次の表に示します。
ListView メンバ |
ビュー |
---|---|
Alignment プロパティ |
SmallIcon または LargeIcon |
AutoArrange プロパティ |
SmallIcon または LargeIcon |
AutoResizeColumn メソッド |
Details |
CheckBoxes |
Tile 以外のすべてのビュー |
Columns プロパティ |
Details または Tile |
DrawSubItem イベント |
Details |
FindItemWithText メソッド |
Details、List、または Tile |
FindNearestItem メソッド |
SmallIcon または LargeIcon |
GetItemAt メソッド |
Details または Tile |
Groups プロパティ |
List 以外のすべてのビュー |
HeaderStyle プロパティ |
Details |
InsertionMark プロパティ |
LargeIcon、SmallIcon、または 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 値を渡します。
使用例
3 つの ListViewItem オブジェクトが指定され、各項目に 3 つずつ ListViewItem.ListViewSubItem オブジェクトが指定されている ListView コントロールを作成するコード例を次に示します。この例は、ColumnHeader オブジェクトを作成して、詳細ビューにサブ項目を表示することもできます。ListViewItem オブジェクトのイメージを提供するコード例では、2 つの ImageList オブジェクトも作成されています。これらの ImageList オブジェクトは、LargeImageList プロパティおよび SmallImageList プロパティに追加されます。この例では、ListView コントロールを作成中に、次のプロパティを使用します。
View
CheckBoxes
FullRowSelect
GridLines
この例では、コードを Form に追加し、この例で作成されたメソッドを、フォーム上のコンストラクタまたは別のメソッドから呼び出す必要があります。またこの例では、MySmallImage1
、MySmallImage2
、MyLargeImage1
、MyLargeImage2
という名前の各イメージが 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
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
.NET Compact Framework
サポート対象 : 2.0、1.0
参照
関連項目
ListView クラス
ListView メンバ
System.Windows.Forms 名前空間
View
ListView.TileSize プロパティ
Application.EnableVisualStyles