Como: Habilitar a exibição lado a lado em um controle ListView do Windows Forms

Com o recurso de exibição lado a lado da ListView o controle, você pode fornecer um equilíbrio visual entre informações textuais e gráficos. As informações textuais exibidas para um item no modo lado a lado são as mesmas informações de coluna definidas para a visão detalhada. Exibição lado a lado funciona em combinação com o agrupamento ou a inserção de recursos de marca no ListView de controle.

O modo de exibição lado a lado usa um ícone de 32 x 32 pixels e várias linhas de texto, como mostra as imagens a seguir.

Texto e dos ícones do modo de exibição lado a lado

Exibição lado a lado em um controle ListView

Para ativar a exibição lado a lado, defina a View propriedade para Tile. Você pode ajustar o tamanho dos blocos, definindo a TileSize propriedade e o número de linhas de texto exibido no Ladrilho, ajustando a Columns coleção.

ObservaçãoObservação

O modo de exibição lado a lado só está disponível em Windows XP Home Edition, Windows XP Professional, Windows Server 2003 quando seu aplicativo chama o Application.EnableVisualStyles método. Em sistemas operacionais anteriores, qualquer código relacionado ao modo de exibição lado a lado não tem efeito e o ListView controle exibe no modo de exibição ícones grandes. Para obter mais informações, consulte ListView.View.

Para definir o modo de exibição lado a lado programaticamente

  • Use o View a enumeração da ListView de controle.

    ListView1.View = View.Tile
    
    listView1.View = View.Tile;
    

Exemplo

O exemplo de código completo a seguir demonstra a exibição lado a lado com peças modificadas para mostrar as três linhas de texto. O tamanho do ladrilho foi ajustado para evitar a quebra de linha.

Imports System
Imports System.Drawing
Imports System.Windows.Forms

Public Class ListViewTilingExample
    Inherits Form

    Private myImageList As ImageList

    Public Sub New()
        ' Initialize myListView.
        Dim myListView As New ListView()
        myListView.Dock = DockStyle.Fill
        myListView.View = View.Tile

        ' Initialize the tile size.
        myListView.TileSize = new Size(400, 45)

        ' Initialize the item icons. 
        myImageList = New ImageList()
        Dim myIcon as Icon = new Icon("book.ico")
        Try
            myImageList.Images.Add(myIcon)
        Finally
            myIcon.Dispose()
        End Try
        myIcon.Dispose()
        myImageList.ImageSize = New Size(32, 32)
        myListView.LargeImageList = myImageList

        ' Add column headers so the subitems will appear.
        myListView.Columns.AddRange(New ColumnHeader() _
            {New ColumnHeader(), New ColumnHeader(), New ColumnHeader()})

        ' Create items and add them to myListView.
        Dim item0 As New ListViewItem( New String() _
            {"Programming Windows", _
            "Petzold, Charles", _
            "1998"}, 0 )
        Dim item1 As New ListViewItem( New String() _
            {"Code: The Hidden Language of Computer Hardware and Software", _
            "Petzold, Charles", _
            "2000"}, 0 )
        Dim item2 As New ListViewItem( New String() _
            {"Programming Windows with C#", _
            "Petzold, Charles", _
            "2001"}, 0 )
        Dim item3 As New ListViewItem( New String() _
            {"Coding Techniques for Microsoft Visual Basic .NET", _
            "Connell, John", _
            "2001"}, 0 )
        Dim item4 As New ListViewItem( New String() _
            {"C# for Java Developers", _
            "Jones, Allen / Freeman, Adam", _
            "2002"}, 0 )
        Dim item5 As New ListViewItem( New String() _
            {"Microsoft .NET XML Web Services Step by Step", _
            "Jones, Allen / Freeman, Adam", _
            "2002"}, 0 )
        myListView.Items.AddRange( _
            New ListViewItem() {item0, item1, item2, item3, item4, item5})

        ' Initialize the form.
        Me.Controls.Add(myListView)
        Me.Size = new System.Drawing.Size(430, 330)
        Me.Text = "ListView Tiling Example"
    End Sub 'New

    ' Clean up any resources being used.        
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If (disposing) Then
            myImageList.Dispose()
        End If

        MyBase.Dispose(disposing)
    End Sub

    <STAThread()> _
    Shared Sub Main()
        Application.EnableVisualStyles()
        Application.Run(New ListViewTilingExample())
    End Sub 'Main

End Class 'ListViewTilingExample 
using System;
using System.Drawing;
using System.Windows.Forms;

public class ListViewTilingExample : Form
{
    private ImageList myImageList;

    public ListViewTilingExample()
    {
        // Initialize myListView.
        ListView myListView = new ListView();
        myListView.Dock = DockStyle.Fill;
        myListView.View = View.Tile;

        // Initialize the tile size.
        myListView.TileSize = new Size(400, 45);

        // Initialize the item icons.
        myImageList = new ImageList();
        using (Icon myIcon = new Icon("book.ico"))
        {
            myImageList.Images.Add(myIcon);
        }
        myImageList.ImageSize = new Size(32, 32);
        myListView.LargeImageList = myImageList;

        // Add column headers so the subitems will appear.
        myListView.Columns.AddRange(new ColumnHeader[] 
            {new ColumnHeader(), new ColumnHeader(), new ColumnHeader()});

        // Create items and add them to myListView.
        ListViewItem item0 = new ListViewItem( new string[] 
            {"Programming Windows", 
            "Petzold, Charles", 
            "1998"}, 0 );
        ListViewItem item1 = new ListViewItem( new string[] 
            {"Code: The Hidden Language of Computer Hardware and Software", 
            "Petzold, Charles", 
            "2000"}, 0 );
        ListViewItem item2 = new ListViewItem( new string[] 
            {"Programming Windows with C#", 
            "Petzold, Charles", 
            "2001"}, 0 );
        ListViewItem item3 = new ListViewItem( new string[] 
            {"Coding Techniques for Microsoft Visual Basic .NET", 
            "Connell, John", 
            "2001"}, 0 );
        ListViewItem item4 = new ListViewItem( new string[] 
            {"C# for Java Developers", 
            "Jones, Allen & Freeman, Adam", 
            "2002"}, 0 );
        ListViewItem item5 = new ListViewItem( new string[] 
            {"Microsoft .NET XML Web Services Step by Step", 
            "Jones, Allen & Freeman, Adam", 
            "2002"}, 0 );
        myListView.Items.AddRange(
            new ListViewItem[] {item0, item1, item2, item3, item4, item5});

        // Initialize the form.
        this.Controls.Add(myListView);
        this.Size = new System.Drawing.Size(430, 330);
        this.Text = "ListView Tiling Example";
    }

    // Clean up any resources being used.        
    protected override void Dispose(bool disposing)
    {
        if (disposing)
        {
            myImageList.Dispose();
        }
        base.Dispose(disposing);
    }

    [STAThread]
    static void Main() 
    {
        Application.EnableVisualStyles();
        Application.Run(new ListViewTilingExample());
    }

}
#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;

public ref class ListViewTilingExample: public Form
{
private:
   ImageList^ myImageList;

public:
   ListViewTilingExample()
   {
      // Initialize myListView.
      ListView^ myListView = gcnew ListView;
      myListView->Dock = DockStyle::Fill;
      myListView->View = View::Tile;

      // Initialize the tile size.
      myListView->TileSize = System::Drawing::Size( 400, 45 );

      // Initialize the item icons.
      myImageList = gcnew ImageList;
      System::Drawing::Icon^ myIcon = gcnew System::Drawing::Icon( "book.ico" );
      try
      {
         myImageList->Images->Add( myIcon );
      }
      finally
      {
         if ( myIcon )
                  delete safe_cast<IDisposable^>(myIcon);
      }

      myImageList->ImageSize = System::Drawing::Size( 32, 32 );
      myListView->LargeImageList = myImageList;

      // Add column headers so the subitems will appear.
      array<ColumnHeader^>^temp0 = {gcnew ColumnHeader,gcnew ColumnHeader,gcnew ColumnHeader};
      myListView->Columns->AddRange( temp0 );

      // Create items and add them to myListView.
      array<String^>^temp1 = {"Programming Windows","Petzold, Charles","1998"};
      ListViewItem^ item0 = gcnew ListViewItem( temp1,0 );
      array<String^>^temp2 = {"Code: The Hidden Language of Computer Hardware and Software","Petzold, Charles","2000"};
      ListViewItem^ item1 = gcnew ListViewItem( temp2,0 );
      array<String^>^temp3 = {"Programming Windows with C#","Petzold, Charles","2001"};
      ListViewItem^ item2 = gcnew ListViewItem( temp3,0 );
      array<String^>^temp4 = {"Coding Techniques for Microsoft Visual Basic .NET","Connell, John","2001"};
      ListViewItem^ item3 = gcnew ListViewItem( temp4,0 );
      array<String^>^temp5 = {"C# for Java Developers","Jones, Allen & Freeman, Adam","2002"};
      ListViewItem^ item4 = gcnew ListViewItem( temp5,0 );
      array<String^>^temp6 = {"Microsoft .NET XML Web Services Step by Step","Jones, Allen & Freeman, Adam","2002"};
      ListViewItem^ item5 = gcnew ListViewItem( temp6,0 );
      array<ListViewItem^>^temp7 = {item0,item1,item2,item3,item4,item5};
      myListView->Items->AddRange( temp7 );

      // Initialize the form.
      this->Controls->Add( myListView );
      this->Size = System::Drawing::Size( 430, 330 );
      this->Text = "ListView Tiling Example";
   }

protected:

   // Clean up any resources being used.
   ~ListViewTilingExample()
   {
      if ( myImageList != nullptr )
      {
         delete myImageList;
      }
   }
};

[STAThread]
int main()
{
   Application::EnableVisualStyles();
   Application::Run( gcnew ListViewTilingExample );
}

Compilando o código

Este exemplo requer:

  • Referências aos assemblies System.Windows.Forms e de sistema.

  • Um arquivo de ícone chamado book.ico no mesmo diretório do arquivo executável.

Para obter informações sobre como criar este exemplo a partir da linha de comando para Visual Basic ou Visual C#, consulte Compilando a partir da linha de comando (Visual Basic) ou Comando -<>>linha criando com CSC. exe. Você também pode construir este exemplo no Visual Studio colando o código em um novo projeto. Para obter mais informações, consulte Como: Compilar e executar um exemplo de código Windows Forms concluída usando Visual Studio e Como: Compilar e executar um exemplo de código Windows Forms concluída usando Visual Studio e Como: Compilar e executar um exemplo de código Windows Forms concluída usando Visual Studio e Como: Compilar e executar um exemplo de código de formulários Windows concluída usando o Visual Studio e Como: Compilar e executar um exemplo de código de formulários de Windows completa usando Visual Studio e Como compilar e executar um exemplo de código dos Windows Forms concluído usando Visual Studio.

Consulte também

Referência

Visão geral do controle ListView (Windows Forms)

ListView

TileSize

Conceitos

Recursos do Windows XP e Controles dos Formulários do Windows

Outros recursos

Controle ListView (Windows Forms)