ListView.View ListView.View ListView.View ListView.View Property

Определение

Возвращает или задает тип отображения элементов в данном элементе управления.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.

Примеры

В следующем примере кода создается ListView элемент управления с тремя ListViewItem указанными объектами и тремя ListViewItem.ListViewSubItem объектами, заданными для каждого элемента.The following code example creates a ListView control with three ListViewItem objects specified and three ListViewItem.ListViewSubItem objects specified for each item. В примере также создаются ColumnHeader объекты для отображения подэлементов в представлении Details.The example also creates ColumnHeader objects to display the subitems in details view. В ImageList примере кода также создаются два объекта для предоставления изображений 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.

В этом примере необходимо добавить код в Form и вызвать метод, созданный в примере, из конструктора или другого метода в форме.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. В этом примере также требуются образы с MySmallImage1именами MySmallImage2 MyLargeImage1,, и 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 'CreateMyListView

Комментарии

Свойство позволяет указать тип ListView представления, которое элемент управления использует для вывода элементов. ViewThe View property allows you to specify the type of display the ListView control uses to display items. Можно задать View свойство, чтобы отображать каждый элемент с большими или мелкими значками или отображать элементы в вертикальном списке.You can set the View property to display each item with large or small icons or display items in a vertical list. Самым широким параметром является представление Details, которое позволяет просматривать не только элементы, но и любые подэлементы, заданные для каждого элемента.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. Размер значков для списка ImageSize изображений определяется свойством ImageList объекта для SmallImageList свойств или LargeImageList .The size of the icons for the image list is specified by the ImageSize property of the ImageList for the SmallImageList or LargeImageList properties.

Примечание

Если вы используете несколько списков изображений для представления мелких и крупных значков с ListView элементом управления, следует разместить небольшие и крупные версии изображения по одному индексу в соответствующих списках изображений.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. При переключении между представлениями положение индекса изображения в одном списке используется для поиска изображения в другом списке независимо от указанного значения ключа.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.

Большинство свойств в ListView элементе управления влияют на поведение различных представлений или их отображение.Most of the properties in the ListView control affect how the different views behave or are displayed. Некоторые свойства, влияющие на представления элементов, полезны только в том случае View , если для свойства задано конкретное значение, а другие используются во всех представлениях.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. GridLines Например, такие FullRowSelect свойства полезны View.Details, только если View свойство имеет значение, MultiSelect а свойства и CheckBoxes полезны во всех представлениях.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.

В следующей таблице показаны некоторые ListView элементы и представления, которые они являются допустимыми.The following table shows some of the ListView members and the views they are valid in.

Элемент ListViewListView member ПросмотрView
СвойствоAlignmentAlignment property SmallIcon или LargeIconSmallIcon or LargeIcon
СвойствоAutoArrangeAutoArrange property SmallIcon или LargeIconSmallIcon or LargeIcon
Метод AutoResizeColumnAutoResizeColumn method Details
CheckBoxes Все представления, КромеTileAll views except Tile
СвойствоColumnsColumns property Details или TileDetails or Tile
СобытиеDrawSubItemDrawSubItem event Details
Метод FindItemWithTextFindItemWithText method Details, Listили TileDetails, List, or Tile
Метод FindNearestItemFindNearestItem method SmallIcon или LargeIconSmallIcon or LargeIcon
Метод GetItemAtGetItemAt method Details или TileDetails or Tile
СвойствоGroupsGroups property Все представления, КромеListAll views except List
СвойствоHeaderStyleHeaderStyle property Details
СвойствоInsertionMarkInsertionMark property LargeIcon, SmallIconили TileLargeIcon, SmallIcon, or Tile

View Свойство можно использовать для предоставления различных представлений данных в приложении или для блокировки конкретного представления для использования преимуществ этого представления.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 поскольку представление 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.

Примечание

Если в View View.Details ListView элементе управления не указаны заголовки столбцов и для свойства задано значение, то элемент управления не будет отображать ни одного элемента. ListViewIf 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. Если в View View.Tile ListView элементе управления не указаны заголовки столбцов и для свойства задано значение, то элемент управления не будет отображать никакие подэлементы. ListViewIf 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. Чтобы отобразить дополнительные подэлементы, необходимо добавить ColumnHeader объекты 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. Затем можно добавлять, удалять и переупорядочивать заголовки в Columns коллекции для достижения нужного результата.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. Это полезно для предотвращения переноса строк при слишком длинном тексте подэлемента в одной строке.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.

Примечание

Хотя столбцы отображаются только в представлении Details, подэлементы без заголовков столбцов не отображаются ни в представлении Details, ни в мозаичном представлении.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.

Мозаичное представление доступно только в Windows XP и Windows Server 2003, Application.EnableVisualStyles когда приложение вызывает метод.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. Например, если для настройки внешнего вида ListView элементов в мозаичном представлении используется рисование владельцем, то при работе в операционных системах, не поддерживающих мозаичное представление, может потребоваться использовать код рисования, соответствующий представлению крупных значков.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.

Применяется к

Дополнительно