ListView.View Propriedade

Definição

Obtém ou define como os itens são exibidos no controle.

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. O padrão é LargeIcon.

Exceções

O valor especificado não é um dos valores View.

Exemplos

O exemplo de código a seguir cria um ListView controle com três ListViewItem objetos especificados e três ListViewItem.ListViewSubItem objetos especificados para cada item. O exemplo também cria ColumnHeader objetos para exibir os subitems na exibição de detalhes. Dois ImageList objetos também são criados no exemplo de código para fornecer imagens para os ListViewItem objetos. Esses ImageList objetos são adicionados às LargeImageList propriedades e SmallImageList . O exemplo usa as propriedades a seguir na criação do ListView controle .

Este exemplo exige que você tenha adicionado o código a um Form e chame o método criado no exemplo do construtor ou outro método no formulário. O exemplo também requer que as imagens chamadas MySmallImage1, MySmallImage2, MyLargeImage1e MyLargeImage2 estejam localizadas no diretório raiz da unidade 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 View propriedade permite que você especifique o tipo de exibição que o ListView controle usa para exibir itens. Você pode definir a View propriedade para exibir cada item com ícones grandes ou pequenos ou exibir itens em uma lista vertical. A opção mais avançada é a exibição de detalhes, que permite exibir não apenas os itens, mas quaisquer subitens especificados para cada item. Cada item é exibido em uma grade, com cada item listado verticalmente e os subitens de cada item exibidos em uma coluna, com cabeçalhos de coluna. A exibição de detalhes é uma maneira perfeita de exibir informações de banco de dados para um usuário. Com o Windows XP e o Windows Server 2003, você também pode exibir itens como blocos que equilibram informações gráficas e textuais mostrando um ícone grande junto com as informações de subitem de sua escolha. Para habilitar a exibição de bloco, seu aplicativo deve chamar o Application.EnableVisualStyles método . O modo de exibição de imagem pequena exibe cada item com um ícone e informações textuais à direita do ícone. A exibição de imagem grande exibe cada item com um ícone e informações textuais abaixo do ícone. O tamanho dos ícones da lista de imagens é especificado pela ImageSize propriedade do ImageList para as SmallImageList propriedades ou LargeImageList .

Observação

Se você estiver usando várias listas de imagens, para exibição de ícone pequeno e grande, com um ListView controle , deverá colocar versões pequenas e grandes da imagem no mesmo local de índice em suas respectivas listas de imagens. 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 da chave especificado.

A maioria das propriedades no ListView controle afeta como as diferentes exibições se comportam ou são exibidas. Algumas propriedades que afetam as exibições dos itens só são úteis quando a View propriedade é definida como um valor específico, enquanto outras são úteis em todos os modos de exibição. Por exemplo, propriedades como GridLines e FullRowSelect só são úteis quando a View propriedade é definida View.Detailscomo , enquanto as MultiSelect propriedades e CheckBoxes são úteis em todos os modos de exibição.

A tabela a seguir mostra alguns dos ListView membros e as exibições em que eles são válidos.

Membro do ListView Exibir
Propriedade Alignment SmallIcon ou LargeIcon
Propriedade AutoArrange SmallIcon ou LargeIcon
Método AutoResizeColumn Details
CheckBoxes Todos os modos de exibição, exceto Tile
Propriedade Columns Details ou Tile
Evento DrawSubItem Details
Método FindItemWithText Details, List ou Tile
Método FindNearestItem SmallIcon ou LargeIcon
Método GetItemAt Details ou Tile
Propriedade Groups Todos os modos de exibição, exceto List
Propriedade HeaderStyle Details
Propriedade InsertionMark LargeIcon, SmallIcon ou Tile

Você pode usar a View propriedade 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. Por exemplo, a View propriedade geralmente é definida View.Details como porque a exibição de detalhes fornece várias opções de exibição não disponíveis nas outras exibições.

Observação

Se o ListView controle não tiver nenhum cabeçalho de coluna especificado e você definir a View propriedade como View.Details, o ListView controle não exibirá nenhum item. Se o ListView controle não tiver nenhum cabeçalho de coluna especificado e você definir a View propriedade como View.Tile, o ListView controle não exibirá nenhum subitens.

O modo de exibição de bloco exibe cada item com um ícone grande à esquerda e informações textuais à direita. As informações textuais consistem no rótulo do item seguido por subitens. Por padrão, somente o primeiro subitem é exibido, o que corresponde ao rótulo do item. Para exibir subitens adicionais, você deve adicionar ColumnHeader objetos à Columns coleção. Cada subitem no bloco corresponde a um cabeçalho de coluna. Para controlar quais subitens são exibidos e a ordem em que são exibidos, você deve definir a ListViewItem.ListViewSubItem.Name propriedade para cada item e a ColumnHeader.Name propriedade para cada cabeçalho. Em seguida, você pode adicionar, remover e reorganizar cabeçalhos na Columns coleção para obter o resultado desejado.

Para controlar o tamanho dos blocos no modo de exibição de bloco, defina a TileSize propriedade . Isso é útil para evitar o encapsulamento de linha quando o texto do subitem é muito longo para uma única linha.

Para obter um exemplo da exibição de bloco, consulte a TileSize propriedade .

Observação

Embora as colunas sejam exibidas apenas na exibição de detalhes, subitems sem cabeçalhos de coluna não serão exibidos na exibição de detalhes ou no modo de exibição de bloco.

O modo de exibição de bloco está disponível somente no Windows XP e no Windows Server 2003 quando seu aplicativo chama o Application.EnableVisualStyles método . Em sistemas operacionais anteriores, qualquer código relacionado à exibição de bloco não tem efeito e o ListView controle é exibido na exibição de ícone grande. Como resultado, qualquer código que dependa da exibição de bloco pode não funcionar corretamente.

Talvez você queira incluir o código que determina se o modo de exibição de bloco está disponível e fornecer funcionalidade alternativa quando ele não estiver disponível. Por exemplo, ao usar o desenho do proprietário para personalizar a aparência dos ListView itens no modo de 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 ao modo de exibição de bloco.

O recurso de exibição de bloco é fornecido pela mesma biblioteca que fornece o recurso de temas do sistema operacional. Para marcar para a disponibilidade dessa biblioteca, chame a sobrecarga do FeatureSupport.IsPresent(Object) método e passe o OSFeature.Themes valor.

Aplica-se a

Confira também