Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Con la función de vista de mosaico del control ListView, puede proporcionar un equilibrio visual entre la información gráfica y textual. La información textual mostrada para un elemento en la vista de mosaico es la misma que la información de columna definida para la vista de detalles. La vista de mosaico funciona en combinación con las funciones de agrupación o marca de inserción en el control ListView.
La vista de mosaico usa un icono de 32 x 32 píxeles y varias líneas de texto, como se muestra en las siguientes imágenes.
Para habilitar la vista de mosaico, establezca la propiedad View en Tile. Puede ajustar el tamaño de los iconos estableciendo la TileSize propiedad y el número de líneas de texto mostradas en el icono ajustando la Columns colección.
Para establecer la vista de iconos mediante programación
Utiliza la enumeración del control ViewListView.
ListView1.View = View.Tile
listView1.View = View.Tile;
Ejemplo
En el siguiente ejemplo de código completo se muestra la vista Icono con iconos modificados para mostrar tres líneas de texto. El tamaño del icono se ha ajustado para evitar el ajuste de línea.
#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
Compilar el código
Este ejemplo requiere:
Referencias a los ensamblados System y System.Windows.Forms.
Un archivo de icono denominado book.ico en el mismo directorio que el archivo ejecutable.
Consulte también
.NET Desktop feedback