ListView.View Property

Definition

Obtiene o establece cómo se muestran los elementos en el control.Gets or sets how items are displayed in the control.

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

Property Value

View

Uno de los valores de View.One of the View values. El valor predeterminado es LargeIcon.The default is LargeIcon.

Exceptions

El valor especificado no es ninguno de los valores de View.The value specified is not one of the View values.

Examples

En el ejemplo de código siguiente se crea un control de ListView con tres objetos ListViewItem especificados y tres objetos ListViewItem.ListViewSubItem especificados para cada elemento.The following code example creates a ListView control with three ListViewItem objects specified and three ListViewItem.ListViewSubItem objects specified for each item. En el ejemplo también se crean objetos ColumnHeader para mostrar los subelementos en la vista de detalles.The example also creates ColumnHeader objects to display the subitems in details view. También se crean dos objetos ImageList en el ejemplo de código para proporcionar imágenes para los objetos ListViewItem.Two ImageList objects are also created in the code example to provide images for the ListViewItem objects. Estos objetos ImageList se agregan a las propiedades LargeImageList y SmallImageList.These ImageList objects are added to the LargeImageList and SmallImageList properties. En el ejemplo se usan las siguientes propiedades para crear el control ListView.The example uses the following properties in creating the ListView control.

En este ejemplo se requiere que se haya agregado el código a un Form y que se llame al método creado en el ejemplo desde el constructor u otro método del formulario.This example requires that you have added the code to a Form and call the method created in the example from the constructor or another method on the form. El ejemplo también requiere que las imágenes denominadas MySmallImage1, MySmallImage2, MyLargeImage1y MyLargeImage2 se encuentren en el directorio raíz de la unidad C.The example also requires that images named MySmallImage1, MySmallImage2, MyLargeImage1, and MyLargeImage2 are located in the root directory of drive 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

Remarks

La propiedad View permite especificar el tipo de presentación que el control ListView utiliza para mostrar los elementos.The View property allows you to specify the type of display the ListView control uses to display items. Puede establecer la propiedad View para mostrar cada elemento con iconos grandes o pequeños o mostrar los elementos en una lista vertical.You can set the View property to display each item with large or small icons or display items in a vertical list. La opción más enriquecida es la vista de detalles, que le permite ver no solo los elementos, sino los subelementos especificados para cada elemento.The richest option is the details view, which allows you to view not only the items but any subitems specified for each item. Cada elemento se muestra en una cuadrícula, donde cada elemento se muestra verticalmente y los subelementos de cada elemento se muestran en una columna, con los encabezados de columna.Each item is displayed in a grid, with each item listed vertically and the subitems for each item displayed in a column, with column headers. La vista de detalles es una manera perfecta de Mostrar información de base de datos a un usuario.The details view is a perfect way to display database information to a user. Con Windows XP y Windows Server 2003, también puede mostrar elementos como mosaicos que equilibran la información gráfica y de texto al mostrar un icono grande junto con la información del subelemento que prefiera.With Windows XP and Windows Server 2003, you can also display items as tiles that balance graphical and textual information by showing a large icon along with subitem information of your choosing. Para habilitar la vista en mosaico, la aplicación debe llamar al método Application.EnableVisualStyles.To enable tile view, your application must call the Application.EnableVisualStyles method. La vista de imagen pequeña muestra cada elemento con un icono e información de texto a la derecha del icono.The small-image view displays each item with an icon and textual information to the right of the icon. La vista de imagen grande muestra cada elemento con un icono e información textual debajo del icono.The large-image view displays each item with an icon and textual information below the icon. El tamaño de los iconos para la lista de imágenes se especifica mediante la propiedad ImageSize del ImageList para las propiedades SmallImageList o LargeImageList.The size of the icons for the image list is specified by the ImageSize property of the ImageList for the SmallImageList or LargeImageList properties.

Note

Si usa varias listas de imágenes, para la vista de iconos pequeños y grandes, con un control de ListView, debe colocar versiones pequeñas y grandes de la imagen en la misma ubicación de índice en sus listas de imágenes respectivas.If you are using multiple image lists, for small and large icon view, with a ListView control, you should place small and large versions of the image at the same index location in their respective image lists. Al cambiar de una vista a otra, la ubicación del índice de la imagen en una lista se usa para ubicar la imagen en la otra lista, con independencia del valor de clave especificado.When switching between views, the index location of the image in one list is used to locate the image in the other list, regardless of the key value specified.

La mayoría de las propiedades del control ListView afectan a cómo se comportan o se muestran las diferentes vistas.Most of the properties in the ListView control affect how the different views behave or are displayed. Algunas propiedades que afectan a las vistas de los elementos solo son útiles cuando la propiedad View está establecida en un valor específico, mientras que otras son útiles en todas las vistas.Some properties that affect the views of the items are only useful when the View property is set to a specific value, while others are useful in all views. Por ejemplo, las propiedades como GridLines y FullRowSelect solo son útiles cuando la propiedad View está establecida en View.Details, mientras que las propiedades MultiSelect y CheckBoxes son útiles en todas las vistas.For example, properties such as GridLines and FullRowSelect are only useful when the View property is set to View.Details, while the MultiSelect and CheckBoxes properties are useful in all views.

En la tabla siguiente se muestran algunos de los miembros de ListView y las vistas en las que son válidos.The following table shows some of the ListView members and the views they are valid in.

Miembro de ListViewListView member VerView
Propiedad AlignmentAlignment property SmallIcon o LargeIconSmallIcon or LargeIcon
Propiedad AutoArrangeAutoArrange property SmallIcon o LargeIconSmallIcon or LargeIcon
MétodoAutoResizeColumnAutoResizeColumn method Details
CheckBoxes Todas las vistas excepto TileAll views except Tile
Propiedad ColumnsColumns property Details o TileDetails or Tile
EventoDrawSubItemDrawSubItem event Details
MétodoFindItemWithTextFindItemWithText method Details, List o TileDetails, List, or Tile
MétodoFindNearestItemFindNearestItem method SmallIcon o LargeIconSmallIcon or LargeIcon
MétodoGetItemAtGetItemAt method Details o TileDetails or Tile
Propiedad GroupsGroups property Todas las vistas excepto ListAll views except List
Propiedad HeaderStyleHeaderStyle property Details
Propiedad InsertionMarkInsertionMark property LargeIcon, SmallIcon o TileLargeIcon, SmallIcon, or Tile

Puede usar la propiedad View para proporcionar vistas diferentes de los datos de la aplicación o para bloquear una vista específica para usar las ventajas de esa vista.You can use the View property to provide different views of data in your application, or to lock a specific view to utilize that view's benefits. Por ejemplo, la propiedad View se establece a menudo como View.Details porque la vista de detalles proporciona varias opciones de visualización que no están disponibles en las otras vistas.For example, the View property is often set to View.Details because the details view provides a number of viewing options not available in the other views.

Note

Si el control de ListView no tiene ningún encabezado de columna especificado y establece la propiedad View en View.Details, el control ListView no mostrará ningún elemento.If your ListView control does not have any column headers specified and you set the View property to View.Details, the ListView control will not display any items. Si el control de ListView no tiene ningún encabezado de columna especificado y establece la propiedad View en View.Tile, el control ListView no mostrará ningún subelemento.If your ListView control does not have any column headers specified and you set the View property to View.Tile, the ListView control will not display any subitems.

La vista en mosaico muestra cada elemento con un icono grande en la parte izquierda y en la información textual de la derecha.The tile view displays each item with a large icon on the left and textual information on the right. La información textual se compone de la etiqueta del elemento seguido de subelementos.The textual information consists of the item label followed by subitems. De forma predeterminada, solo se muestra el primer subelemento, que corresponde a la etiqueta del elemento.By default, only the first subitem is displayed, which corresponds to the item label. Para mostrar subelementos adicionales, debe agregar ColumnHeader objetos a la colección Columns.To display additional subitems, you must add ColumnHeader objects to the Columns collection. Cada subelemento del mosaico corresponde a un encabezado de columna.Each subitem in the tile corresponds to a column header. Para controlar qué subelementos se muestran y el orden en que se muestran, debe establecer la propiedad ListViewItem.ListViewSubItem.Name de cada elemento y la propiedad ColumnHeader.Name de cada encabezado.To control which subitems are displayed and the order in which they are displayed, you must set the ListViewItem.ListViewSubItem.Name property for each item and the ColumnHeader.Name property for each header. Después, puede Agregar, quitar y reorganizar los encabezados en la colección de Columns para lograr el resultado deseado.You can then add, remove, and rearrange headers in the Columns collection to achieve the desired result.

Para controlar el tamaño de los mosaicos en la vista en mosaico, establezca la propiedad TileSize.To control the size of the tiles in the tile view, set the TileSize property. Esto resulta útil para evitar el ajuste de línea cuando el texto del subelemento es demasiado largo para una sola línea.This is useful to prevent line-wrapping when subitem text is too long for a single line.

Para obtener un ejemplo de la vista en mosaico, vea la propiedad TileSize.For an example of the tile view, see the TileSize property.

Note

Aunque las columnas solo se muestran en la vista de detalles, los subelementos sin encabezados de columna no se mostrarán en la vista de detalles ni en la vista de mosaico.Although columns are only displayed in the details view, subitems without column headers will not display in either the details view or the tile view.

La vista en mosaico solo está disponible en Windows XP y Windows Server 2003 cuando la aplicación llama al método Application.EnableVisualStyles.The tile view is available only on Windows XP and Windows Server 2003 when your application calls the Application.EnableVisualStyles method. En sistemas operativos anteriores, el código relacionado con la vista de mosaico no tiene ningún efecto y el control ListView se muestra en la vista de iconos grandes.On earlier operating systems, any code related to the tile view has no effect, and the ListView control displays in the large icon view. Como resultado, cualquier código que dependa de la vista de mosaico podría no funcionar correctamente.As a result, any code that depends on the tile view might not work correctly.

Es posible que desee incluir código que determina si la vista en mosaico está disponible y proporcionar una funcionalidad alternativa cuando no está disponible.You might want to include code that determines whether tile view is available, and provide alternate functionality when it is unavailable. Por ejemplo, al usar el dibujo del propietario para personalizar la apariencia de ListView elementos en la vista de mosaico, es posible que desee usar el código de dibujo adecuado para la vista de iconos grandes al ejecutarse en sistemas operativos que no admiten la vista en mosaico.For example, when you use owner drawing to customize the appearance of ListView items in the tile view, you might want to use drawing code appropriate to the large icon view when running on operating systems that do not support the tile view.

La característica de vista en mosaico la proporciona la misma biblioteca que proporciona la característica temas del sistema operativo.The tile view feature is provided by the same library that provides the operating system themes feature. Para comprobar la disponibilidad de esta biblioteca, llame a la sobrecarga del método FeatureSupport.IsPresent(Object) y pase el valor de OSFeature.Themes.To check for the availability of this library, call the FeatureSupport.IsPresent(Object) method overload and pass in the OSFeature.Themes value.

Applies to

See also