Freigeben über


Vorgehensweise: Aktivieren der Tile-Ansicht in einem ListView-Steuerelement von Windows Forms

Mit dem Feature für "Ansicht 'Nebeneinander'" des ListView-Steuerelements können Sie eine visuelle Balance zwischen grafischen und textbasierten Daten herstellen. Die textbasierten Daten, die für ein Element in der Ansicht "Nebeneinander" angezeigt werden, sind die gleichen wie die Spalteninformationen, die für die Detailansicht definiert wurden. Die Ansicht "Nebeneinander" funktioniert in Kombination mit den Features "Gruppieren" oder "Einfügemarke" des ListView-Steuerelements.

Für die Ansicht "Nebeneinander" wird ein 32 x 32 Pixel großes Symbol mit mehreren Textzeilen verwendet, wie in den folgenden Abbildungen dargestellt.

Tile View in a ListView Control

Um die Ansicht "Nebeneinander" zu aktivieren, legen Sie die View-Eigenschaft auf Tile fest. Sie können die Größe der Kacheln anpassen, indem Sie die TileSize-Eigenschaft festlegen, und Sie können die Anzahl der angezeigten Textzeilen festlegen, indem Sie die Columns-Auflistung anpassen.

So legen Sie die Ansicht "Nebeneinander" programmgesteuert fest

  1. Verwenden Sie die View-Enumeration des ListView-Steuerelements.

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

Beispiel

Die folgenden vollständigen Codebeispiele zeigen die Ansicht "Nebeneinander" mit Kacheln, die so geändert wurden, dass drei Textzeilen angezeigt werden. Die Kachelgröße wurde angepasst, um Zeilenumbrüche zu vermeiden.

#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 );
}
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());
    }
}
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
    
    ' 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

End Class

Kompilieren des Codes

Für dieses Beispiel benötigen Sie Folgendes:

  • Verweise auf die Assemblys "System" und "System.Windows.Forms".

  • Eine Symboldatei mit Namen "book.ico", die sich im selben Verzeichnis befinden wie die ausführbare Datei.

Siehe auch