This documentation is archived and is not being maintained.

How to: Enable Tile View in a Windows Forms ListView Control 

With the tile view feature of the ListView control, you can provide a visual balance between graphical and textual information. The textual information displayed for an item in tile view is the same as the column information defined for details view. Tile view works in combination with either the grouping or insertion mark features in the ListView control.

The tile view uses a 32 x 32 pixel icon and several lines of text, as shown in the following images.

Tile view icons and text
Tile View in a ListView Control

To enable tile view, set the View property to Tile. You can adjust the size of the tiles by setting the TileSize property, and the number of text lines displayed in the tile by adjusting the Columns collection.


The tile view is available only on Windows XP Home Edition, Windows XP Professional, Windows Server 2003 when your application calls the System.Windows.Forms.Application.EnableVisualStyles method. On earlier operating systems, any code related to the tile view has no effect, and the ListView control displays in the large icon view. For more information, see System.Windows.Forms.ListView.View.

To set tile view programmatically

  • Use the View enumeration of the ListView control.

    ListView1.View = View.Tile

    listView1.View = View.Tile;


The following complete code example demonstrates Tile view with tiles modified to show three lines of text. The tile size has been adjusted to prevent line-wrapping.

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.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 );
            new ListViewItem[] {item0, item1, item2, item3, item4, item5});
        // Initialize the form.
        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)

    static void Main() 
        Application.Run(new ListViewTilingExample());


Compiling the Code

This example requires:

  • References to the System and System.Windows.Forms assemblies.

  • An icon file named book.ico in the same directory as the executable file.

For information about building this example from the command line for Visual Basic or Visual C#, see Building from the Command Line (Visual Basic) or Command-Line Building. You can also build this example in Visual Studio by pasting the code into a new project. How to: Compile and Run a Complete Windows Forms Code Example Using Visual Studio
How to: Compile and Run a Complete Windows Forms Code Example Using Visual Studio
How to: Compile and Run a Complete Windows Forms Code Example Using Visual Studio
How to: Compile and Run a Complete Windows Forms Code Example Using Visual Studio

See Also