ListView.View Propriedade

Definição

Obtém ou define como os itens são exibidos no controle.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

Valor da propriedade

Um dos valores de View.One of the View values. O padrão é LargeIcon.The default is LargeIcon.

Exceções

O valor especificado não é um dos valores View.The value specified is not one of the View values.

Exemplos

O exemplo de código a seguir cria um controle de ListView com três objetos ListViewItem especificados e três objetos ListViewItem.ListViewSubItem especificados para cada item.The following code example creates a ListView control with three ListViewItem objects specified and three ListViewItem.ListViewSubItem objects specified for each item. O exemplo também cria ColumnHeader objetos para exibir os subitens na exibição de detalhes.The example also creates ColumnHeader objects to display the subitems in details view. Dois objetos ImageList também são criados no exemplo de código para fornecer imagens para os objetos ListViewItem.Two ImageList objects are also created in the code example to provide images for the ListViewItem objects. Esses objetos ImageList são adicionados às propriedades LargeImageList e SmallImageList.These ImageList objects are added to the LargeImageList and SmallImageList properties. O exemplo usa as propriedades a seguir na criação do controle de ListView.The example uses the following properties in creating the ListView control.

Este exemplo requer que você tenha adicionado o código a um Form e chame o método criado no exemplo do construtor ou de outro método no formulário.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. O exemplo também exige que as imagens nomeadas MySmallImage1, MySmallImage2, MyLargeImage1e MyLargeImage2 estejam localizadas no diretório raiz da unidade 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

Comentários

A propriedade View permite que você especifique o tipo de exibição que o controle de ListView usa para exibir itens.The View property allows you to specify the type of display the ListView control uses to display items. Você pode definir a propriedade View para exibir cada item com ícones grandes ou pequenos ou itens de exibição em uma lista vertical.You can set the View property to display each item with large or small icons or display items in a vertical list. A opção mais rica é a exibição de detalhes, que permite que você exiba não apenas os itens, mas todos os subitens especificados para cada item.The richest option is the details view, which allows you to view not only the items but any subitems specified for each item. Cada item é exibido em uma grade, com cada item listado verticalmente e os subitens de cada item exibido em uma coluna, com cabeçalhos de coluna.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. A exibição de detalhes é uma maneira perfeita de exibir informações do banco de dados para um usuário.The details view is a perfect way to display database information to a user. Com o Windows XP e o Windows Server 2003, você também pode exibir itens como blocos que balanceem informações gráficas e textuais mostrando um ícone grande junto com as informações de subitem de sua escolha.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. Para habilitar o modo de exibição de bloco, seu aplicativo deve chamar o método Application.EnableVisualStyles.To enable tile view, your application must call the Application.EnableVisualStyles method. A exibição de imagem pequena exibe cada item com um ícone e informações textuais à direita do ícone.The small-image view displays each item with an icon and textual information to the right of the icon. A exibição de imagem grande exibe cada item com um ícone e informações textuais abaixo do ícone.The large-image view displays each item with an icon and textual information below the icon. O tamanho dos ícones da lista de imagens é especificado pela propriedade ImageSize do ImageList para as propriedades SmallImageList ou 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.

Observação

Se você estiver usando várias listas de imagens, para exibição de ícones pequenos e grandes, com um controle de ListView, você deve posicionar versões pequenas e grandes da imagem no mesmo local de índice em suas respectivas listas de imagens.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. Ao alternar entre exibições, o local do índice da imagem em uma lista é usado para localizar a imagem na outra lista, independentemente do valor de chave especificado.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.

A maioria das propriedades no controle de ListView afeta a forma como as diferentes exibições se comportam ou são exibidas.Most of the properties in the ListView control affect how the different views behave or are displayed. Algumas propriedades que afetam as exibições dos itens só são úteis quando a propriedade View é definida como um valor específico, enquanto outras são úteis em todas as exibições.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. Por exemplo, propriedades como GridLines e FullRowSelect são úteis somente quando a propriedade View é definida como View.Details, enquanto as propriedades MultiSelect e CheckBoxes são úteis em todas as exibições.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.

A tabela a seguir mostra alguns dos membros ListView e os modos de exibição em que eles são válidos.The following table shows some of the ListView members and the views they are valid in.

Membro do ListViewListView member ExibirView
Propriedade AlignmentAlignment property SmallIcon ou LargeIconSmallIcon or LargeIcon
Propriedade AutoArrangeAutoArrange property SmallIcon ou LargeIconSmallIcon or LargeIcon
Método AutoResizeColumnAutoResizeColumn method Details
CheckBoxes Todas as exibições, exceto TileAll views except Tile
Propriedade ColumnsColumns property Details ou TileDetails or Tile
Evento DrawSubItemDrawSubItem event Details
Método FindItemWithTextFindItemWithText method Details, List ou TileDetails, List, or Tile
Método FindNearestItemFindNearestItem method SmallIcon ou LargeIconSmallIcon or LargeIcon
Método GetItemAtGetItemAt method Details ou TileDetails or Tile
Propriedade GroupsGroups property Todas as exibições, exceto ListAll views except List
Propriedade HeaderStyleHeaderStyle property Details
Propriedade InsertionMarkInsertionMark property LargeIcon, SmallIcon ou TileLargeIcon, SmallIcon, or Tile

Você pode usar a propriedade View para fornecer diferentes exibições de dados em seu aplicativo ou para bloquear uma exibição específica para utilizar os benefícios dessa exibição.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. Por exemplo, a propriedade View geralmente é definida como View.Details porque a exibição de detalhes fornece várias opções de exibição não disponíveis nas outras exibições.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.

Observação

Se o seu controle de ListView não tiver nenhum cabeçalho de coluna especificado e você definir a propriedade View como View.Details, o controle de ListView não exibirá nenhum item.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. Se o seu controle de ListView não tiver nenhum cabeçalho de coluna especificado e você definir a propriedade View como View.Tile, o controle de ListView não exibirá nenhum subitem.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.

A exibição de bloco exibe cada item com um ícone grande à esquerda e informações textuais à direita.The tile view displays each item with a large icon on the left and textual information on the right. As informações textuais consistem no rótulo do item seguido por subitens.The textual information consists of the item label followed by subitems. Por padrão, somente o primeiro subitem é exibido, que corresponde ao rótulo do item.By default, only the first subitem is displayed, which corresponds to the item label. Para Exibir subitens adicionais, você deve adicionar ColumnHeader objetos à coleção de Columns.To display additional subitems, you must add ColumnHeader objects to the Columns collection. Cada subitem no bloco corresponde a um cabeçalho de coluna.Each subitem in the tile corresponds to a column header. Para controlar quais subitens são exibidos e a ordem na qual eles são exibidos, você deve definir a propriedade ListViewItem.ListViewSubItem.Name para cada item e a propriedade ColumnHeader.Name para cada cabeçalho.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. Em seguida, você pode adicionar, remover e reorganizar cabeçalhos na coleção de Columns para obter o resultado desejado.You can then add, remove, and rearrange headers in the Columns collection to achieve the desired result.

Para controlar o tamanho dos blocos no modo de exibição de bloco, defina a propriedade TileSize.To control the size of the tiles in the tile view, set the TileSize property. Isso é útil para evitar a quebra de linha quando o texto do subitem é muito longo para uma única linha.This is useful to prevent line-wrapping when subitem text is too long for a single line.

Para obter um exemplo da exibição de bloco, consulte a propriedade TileSize.For an example of the tile view, see the TileSize property.

Observação

Embora as colunas sejam exibidas apenas no modo de exibição detalhes, os subitens sem cabeçalhos de coluna não serão exibidos na exibição de detalhes nem no bloco.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.

A exibição de bloco está disponível apenas no Windows XP e no Windows Server 2003 quando o aplicativo chama o método Application.EnableVisualStyles.The tile view is available only on Windows XP and Windows Server 2003 when your application calls the Application.EnableVisualStyles method. Em sistemas operacionais anteriores, qualquer código relacionado à exibição de bloco não tem efeito e o controle de ListView é exibido na exibição de ícones grandes.On earlier operating systems, any code related to the tile view has no effect, and the ListView control displays in the large icon view. Como resultado, qualquer código que dependa da exibição de bloco pode não funcionar corretamente.As a result, any code that depends on the tile view might not work correctly.

Talvez você queira incluir o código que determina se a exibição de bloco está disponível e fornecer funcionalidade alternativa quando ela não estiver disponível.You might want to include code that determines whether tile view is available, and provide alternate functionality when it is unavailable. Por exemplo, quando você usa o desenho proprietário para personalizar a aparência de itens de ListView na exibição de bloco, convém usar o código de desenho apropriado para a exibição de ícone grande ao executar em sistemas operacionais que não dão suporte à exibição de bloco.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.

O recurso de exibição de bloco é fornecido pela mesma biblioteca que fornece o recurso de temas do sistema operacional.The tile view feature is provided by the same library that provides the operating system themes feature. Para verificar a disponibilidade dessa biblioteca, chame a sobrecarga do método FeatureSupport.IsPresent(Object) e passe o valor OSFeature.Themes.To check for the availability of this library, call the FeatureSupport.IsPresent(Object) method overload and pass in the OSFeature.Themes value.

Aplica-se a

Veja também