Поделиться через


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 . Значение по умолчанию — LargeIcon.

Исключения

Указанное значение не является одним из значений View .

Примеры

В следующем примере кода создается элемент управления с тремя ListViewItem объектамиListView, указанными и тремя ListViewItem.ListViewSubItem объектами, указанными для каждого элемента. В примере также создаются ColumnHeader объекты для отображения вложенных элементов в представлении сведений. Два ImageList объекта также создаются в примере кода для предоставления изображений для ListViewItem объектов. Эти ImageList объекты добавляются в LargeImageList свойства и SmallImageList свойства. В примере используются следующие свойства при создании ListView элемента управления.

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

Комментарии

Свойство View позволяет указать тип отображения элемента ListView управления, используемого для отображения элементов. Свойство можно задать View для отображения каждого элемента с большими или небольшими значками или отображаемыми элементами в вертикальном списке. Самый богатый вариант — это представление сведений, которое позволяет просматривать не только элементы, но и любые вложенные элементы, указанные для каждого элемента. Каждый элемент отображается в сетке с каждым элементом, перечисленным по вертикали, и подсетьми для каждого элемента, отображаемого в столбце, с заголовками столбцов. Представление сведений — это идеальный способ отображения сведений о базе данных пользователю. С помощью Windows XP и Windows Server 2003 вы также можете отображать элементы в виде плиток, которые балансирует графические и текстовые данные, отображая большой значок вместе с подсетями выбранных элементов. Чтобы включить представление плиток, приложение должно вызвать Application.EnableVisualStyles метод. Представление небольшого изображения отображает каждый элемент со значком и текстовыми сведениями справа от значка. Представление большого изображения отображает каждый элемент со значком и текстовыми сведениями под значком. Размер значков для списка изображений определяется свойством ImageSizeImageList элемента SmallImageList или LargeImageList свойств.

Замечание

При использовании нескольких списков изображений для представления маленьких и больших значков с элементом ListView управления следует разместить небольшие и большие версии изображения в одном расположении индекса в соответствующих списках изображений. При переключении между представлениями индекс изображения в одном списке используется для поиска изображения в другом списке независимо от указанного значения ключа.

Большинство свойств в элементе ListView управления влияют на поведение различных представлений или отображение. Некоторые свойства, влияющие на представления элементов, полезны только в том случае, если View для свойства задано определенное значение, а другие полезны во всех представлениях. Например, такие свойства, как GridLines и FullRowSelect полезны только при View установке View.Detailsсвойства, а MultiSelectCheckBoxes свойства полезны во всех представлениях.

В следующей ListView таблице показаны некоторые элементы и допустимые представления.

Элемент ListView View
Свойство 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.Details, View так как представление сведений предоставляет ряд параметров просмотра, недоступных в других представлениях.

Замечание

ListView Если в элементе управления нет указанных заголовков столбцов, а для свойства задано ViewView.Detailsзначение, элемент ListView управления не будет отображать элементы. ListView Если в элементе управления нет указанных заголовков столбцов, а для свойства View.Tileзадано View значение, элемент ListView управления не будет отображать какие-либо вложенные элементы.

В представлении плитки отображаются все элементы с большим значком слева и текстовыми сведениями справа. Текстовая информация состоит из метки элемента, за которой следует вложенные элементы. По умолчанию отображается только первый дочерний элемент, соответствующий метки элемента. Чтобы отобразить дополнительные дочерние объекты, необходимо добавить ColumnHeader объекты в коллекцию Columns . Каждый вложенный элемент плитки соответствует заголовку столбца. Чтобы управлять отображением вложенных элементов и порядком их отображения, необходимо задать ListViewItem.ListViewSubItem.Name свойство для каждого элемента и ColumnHeader.Name свойства для каждого заголовка. Затем вы можете добавить, удалить и изменить порядок заголовков в Columns коллекции, чтобы добиться желаемого результата.

Чтобы управлять размером плиток в представлении плиток, задайте TileSize свойство. Это полезно для предотвращения упаковки строк, если текст подсети слишком длинный для одной строки.

Пример представления плитки см. в свойстве TileSize .

Замечание

Хотя столбцы отображаются только в представлении сведений, вложенные элементы без заголовков столбцов не будут отображаться в представлении сведений или представлении плитки.

Представление плиток доступно только в Windows XP и Windows Server 2003, когда приложение вызывает Application.EnableVisualStyles метод. В более ранних операционных системах любой код, связанный с представлением плитки, не влияет, а ListView элемент управления отображается в представлении больших значков. В результате любой код, зависящий от представления плитки, может работать неправильно.

Может потребоваться включить код, определяющий доступность представления плиток и предоставление альтернативных функциональных возможностей при недоступности. Например, при использовании рисунка ListView владельца для настройки внешнего вида элементов в представлении плитки может потребоваться использовать код рисования, соответствующий представлению больших значков при выполнении в операционных системах, которые не поддерживают представление плиток.

Функция представления плиток предоставляется той же библиотекой, которая предоставляет функцию тем операционной системы. Чтобы проверить доступность этой библиотеки, вызовите перегрузку метода и передайте FeatureSupport.IsPresent(Object)OSFeature.Themes значение.

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

См. также раздел