ListView.View Proprietà

Definizione

Ottiene o imposta il modo in cui gli elementi vengono visualizzati nel controllo.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

Valore della proprietà

View

Uno dei valori di View.One of the View values. Il valore predefinito è LargeIcon.The default is LargeIcon.

Eccezioni

Il valore specificato non è uno dei valori di View.The value specified is not one of the View values.

Esempio

Nell'esempio di codice seguente viene creato un ListView controllo con tre ListViewItem oggetti specificati e tre ListViewItem.ListViewSubItem oggetti specificati per ogni elemento.The following code example creates a ListView control with three ListViewItem objects specified and three ListViewItem.ListViewSubItem objects specified for each item. Nell'esempio vengono inoltre creati ColumnHeader oggetti per visualizzare gli elementi secondari nella visualizzazione dettagli.The example also creates ColumnHeader objects to display the subitems in details view. ImageListNell'esempio di codice vengono inoltre creati due oggetti per fornire immagini per gli ListViewItem oggetti.Two ImageList objects are also created in the code example to provide images for the ListViewItem objects. Questi ImageList oggetti vengono aggiunti alle LargeImageList proprietà e SmallImageList .These ImageList objects are added to the LargeImageList and SmallImageList properties. Nell'esempio vengono utilizzate le proprietà seguenti per la creazione del ListView controllo.The example uses the following properties in creating the ListView control.

Questo esempio richiede che sia stato aggiunto il codice a un oggetto Form e chiamare il metodo creato nell'esempio dal costruttore o un altro metodo nel form.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. Nell'esempio è inoltre necessario che le immagini denominate MySmallImage1 , MySmallImage2 , MyLargeImage1 e MyLargeImage2 si trovino nella directory radice dell'unità 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

Commenti

La View proprietà consente di specificare il tipo di visualizzazione utilizzato dal ListView controllo per visualizzare gli elementi.The View property allows you to specify the type of display the ListView control uses to display items. È possibile impostare la View proprietà per visualizzare ogni elemento con icone grandi o piccole o elementi visualizzati in un elenco verticale.You can set the View property to display each item with large or small icons or display items in a vertical list. L'opzione più ricca è la visualizzazione dettagli, che consente di visualizzare non solo gli elementi, ma gli eventuali elementi secondari specificati per ogni elemento.The richest option is the details view, which allows you to view not only the items but any subitems specified for each item. Ogni elemento viene visualizzato in una griglia, con ogni elemento elencato verticalmente e gli elementi secondari per ogni elemento visualizzato in una colonna, con le intestazioni di colonna.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 visualizzazione dettagli è un modo perfetto per visualizzare le informazioni del database a un utente.The details view is a perfect way to display database information to a user. Con Windows XP e Windows Server 2003, è anche possibile visualizzare gli elementi come riquadri che bilanciano le informazioni grafiche e testuali visualizzando un'icona di grandi dimensioni insieme alle informazioni relative agli elementi secondari di propria scelta.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. Per abilitare la visualizzazione affiancata, l'applicazione deve chiamare il Application.EnableVisualStyles metodo.To enable tile view, your application must call the Application.EnableVisualStyles method. La visualizzazione di immagini di piccole dimensioni Visualizza ogni elemento con un'icona e informazioni testuali a destra dell'icona.The small-image view displays each item with an icon and textual information to the right of the icon. La visualizzazione immagine grande Visualizza ogni elemento con un'icona e informazioni testuali sotto l'icona.The large-image view displays each item with an icon and textual information below the icon. La dimensione delle icone per l'elenco di immagini è specificata dalla ImageSize proprietà dell'oggetto ImageList per le SmallImageList proprietà 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.

Nota

Se si usano più elenchi di immagini, per la visualizzazione icone piccole e grandi, con un ListView controllo, è necessario inserire versioni piccole e grandi dell'immagine nella stessa posizione di indice nei rispettivi elenchi di immagini.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. Quando si passa da una visualizzazione all'altra, viene usata la posizione di indice dell'immagine in un elenco, indipendentemente dal valore di chiave specificato.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 maggior parte delle proprietà del ListView controllo influisce sul comportamento o sulla visualizzazione delle diverse visualizzazioni.Most of the properties in the ListView control affect how the different views behave or are displayed. Alcune proprietà che interessano le visualizzazioni degli elementi sono utili solo quando la View proprietà è impostata su un valore specifico, mentre altre sono utili in tutte le visualizzazioni.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. Ad esempio, le proprietà come GridLines e FullRowSelect sono utili solo quando la View proprietà è impostata su View.Details , mentre le MultiSelect CheckBoxes proprietà e sono utili in tutte le visualizzazioni.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.

Nella tabella seguente sono illustrati alcuni dei ListView membri e le visualizzazioni in cui sono validi.The following table shows some of the ListView members and the views they are valid in.

Membro ListViewListView member VisualizzaView
ProprietàAlignmentAlignment property SmallIcon o LargeIconSmallIcon or LargeIcon
ProprietàAutoArrangeAutoArrange property SmallIcon o LargeIconSmallIcon or LargeIcon
Metodo AutoResizeColumnAutoResizeColumn method Details
CheckBoxes Tutte le visualizzazioni eccetto TileAll views except Tile
ProprietàColumnsColumns property Details o TileDetails or Tile
EventoDrawSubItemDrawSubItem event Details
Metodo FindItemWithTextFindItemWithText method Details, Listo TileDetails, List, or Tile
Metodo FindNearestItemFindNearestItem method SmallIcon o LargeIconSmallIcon or LargeIcon
Metodo GetItemAtGetItemAt method Details o TileDetails or Tile
ProprietàGroupsGroups property Tutte le visualizzazioni eccetto ListAll views except List
ProprietàHeaderStyleHeaderStyle property Details
ProprietàInsertionMarkInsertionMark property LargeIcon, SmallIcono TileLargeIcon, SmallIcon, or Tile

È possibile usare la View proprietà per fornire visualizzazioni diverse dei dati nell'applicazione o per bloccare una visualizzazione specifica per usare i vantaggi della visualizzazione.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. Ad esempio, la View proprietà viene spesso impostata su View.Details perché la visualizzazione dettagli fornisce una serie di opzioni di visualizzazione non disponibili nelle altre visualizzazioni.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.

Nota

Se nel ListView controllo non sono specificate intestazioni di colonna e la proprietà viene impostata View su View.Details , il ListView controllo non visualizzerà alcun 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. Se nel ListView controllo non sono specificate intestazioni di colonna e la proprietà viene impostata View su View.Tile , il ListView controllo non visualizzerà alcun elemento secondari.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 visualizzazione affiancata Visualizza ogni elemento con un'icona grande a sinistra e informazioni testuali a destra.The tile view displays each item with a large icon on the left and textual information on the right. Le informazioni testuali sono costituite dall'etichetta dell'elemento seguita da elementi secondari.The textual information consists of the item label followed by subitems. Per impostazione predefinita, viene visualizzato solo il primo elemento secondario, che corrisponde all'etichetta dell'elemento.By default, only the first subitem is displayed, which corresponds to the item label. Per visualizzare altri elementi secondari, è necessario aggiungere ColumnHeader oggetti alla Columns raccolta.To display additional subitems, you must add ColumnHeader objects to the Columns collection. Ogni elemento secondario nel riquadro corrisponde a un'intestazione di colonna.Each subitem in the tile corresponds to a column header. Per controllare quali elementi secondari vengono visualizzati e l'ordine in cui vengono visualizzati, è necessario impostare la ListViewItem.ListViewSubItem.Name proprietà per ogni elemento e la ColumnHeader.Name proprietà per ogni intestazione.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. Per ottenere il risultato desiderato, è quindi possibile aggiungere, rimuovere e ridisporre le intestazioni nella Columns raccolta.You can then add, remove, and rearrange headers in the Columns collection to achieve the desired result.

Per controllare le dimensioni dei riquadri nella visualizzazione affiancata, impostare la TileSize Proprietà.To control the size of the tiles in the tile view, set the TileSize property. Questa operazione è utile per impedire il ritorno a capo automatico quando il testo dell'elemento secondario è troppo lungo per una singola riga.This is useful to prevent line-wrapping when subitem text is too long for a single line.

Per un esempio della visualizzazione affiancata, vedere la TileSize Proprietà.For an example of the tile view, see the TileSize property.

Nota

Sebbene le colonne vengano visualizzate solo nella visualizzazione dettagli, gli elementi secondari senza intestazioni di colonna non verranno visualizzati nella visualizzazione dettagli o nella visualizzazione affiancata.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 visualizzazione affiancata è disponibile solo in Windows XP e Windows Server 2003 quando l'applicazione chiama il Application.EnableVisualStyles metodo.The tile view is available only on Windows XP and Windows Server 2003 when your application calls the Application.EnableVisualStyles method. Nei sistemi operativi precedenti, qualsiasi codice correlato alla visualizzazione affiancata non ha alcun effetto e il controllo ListView viene visualizzato nella visualizzazione Icone grandi.On earlier operating systems, any code related to the tile view has no effect, and the ListView control displays in the large icon view. Di conseguenza, il codice che dipende dalla visualizzazione affiancata potrebbe non funzionare correttamente.As a result, any code that depends on the tile view might not work correctly.

Potrebbe essere necessario includere il codice che determina se la visualizzazione affiancata è disponibile e fornire funzionalità alternative quando non è disponibile.You might want to include code that determines whether tile view is available, and provide alternate functionality when it is unavailable. Ad esempio, quando si usa il disegno del proprietario per personalizzare l'aspetto degli ListView elementi nella visualizzazione affiancata, potrebbe essere necessario usare il codice di disegno appropriato per la visualizzazione icone grandi quando l'esecuzione avviene in sistemi operativi che non supportano la visualizzazione affiancata.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 funzionalità visualizzazione affiancata viene fornita dalla stessa libreria che fornisce la funzionalità temi del sistema operativo.The tile view feature is provided by the same library that provides the operating system themes feature. Per verificare la disponibilità di questa libreria, chiamare l' FeatureSupport.IsPresent(Object) Overload del metodo e passare il OSFeature.Themes valore.To check for the availability of this library, call the FeatureSupport.IsPresent(Object) method overload and pass in the OSFeature.Themes value.

Si applica a

Vedi anche