ListView.View Propriété

Définition

Obtient ou définit la façon d'afficher les éléments dans le contrôle.

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

Valeur de propriété

Une des valeurs de l'objet View. La valeur par défaut est LargeIcon.

Exceptions

La valeur spécifiée n'est pas l'une des valeurs View.

Exemples

L’exemple de code suivant crée un ListView contrôle avec trois ListViewItem objets spécifiés et trois ListViewItem.ListViewSubItem objets spécifiés pour chaque élément. L’exemple crée ColumnHeader également des objets pour afficher les sous-éléments en mode Détails. Deux ImageList objets sont également créés dans l’exemple de code pour fournir des images pour les ListViewItem objets. Ces ImageList objets sont ajoutés aux LargeImageList propriétés et SmallImageList . L’exemple utilise les propriétés suivantes pour créer le ListView contrôle .

Cet exemple nécessite que vous ayez ajouté le code à un Form et que vous appeliez la méthode créée dans l’exemple à partir du constructeur ou d’une autre méthode sur le formulaire. L’exemple exige également que les images nommées MySmallImage1, MySmallImage2, MyLargeImage1et MyLargeImage2 se trouvent dans le répertoire racine du lecteur 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

Remarques

La View propriété vous permet de spécifier le type d’affichage utilisé par le ListView contrôle pour afficher les éléments. Vous pouvez définir la View propriété pour afficher chaque élément avec de grandes ou petites icônes ou afficher des éléments dans une liste verticale. L’option la plus riche est la vue détails, qui vous permet d’afficher non seulement les éléments, mais aussi les sous-éléments spécifiés pour chaque élément. Chaque élément est affiché dans une grille, avec chaque élément répertorié verticalement et les sous-éléments de chaque élément affichés dans une colonne, avec des en-têtes de colonne. La vue détails est un moyen idéal pour afficher des informations de base de données à un utilisateur. Avec Windows XP et Windows Server 2003, vous pouvez également afficher des éléments sous forme de vignettes qui équilibrent les informations graphiques et textuelles en affichant une grande icône ainsi que des informations de sous-élément de votre choix. Pour activer l’affichage en vignette, votre application doit appeler la Application.EnableVisualStyles méthode . La vue petite image affiche chaque élément avec une icône et des informations textuelles à droite de l’icône. La vue grande image affiche chaque élément avec une icône et des informations textuelles sous l’icône. La taille des icônes de la liste d’images est spécifiée par la ImageSize propriété de pour ImageList les SmallImageList propriétés ou LargeImageList .

Notes

Si vous utilisez plusieurs listes d’images, pour la vue icône petite et grande, avec un ListView contrôle, vous devez placer les versions petite et grande de l’image au même emplacement d’index dans leurs listes d’images respectives. Lors du basculement entre les vues, l’emplacement d’index de l’image dans une liste est utilisé pour localiser l’image dans l’autre liste, quelle que soit la valeur de clé spécifiée.

La plupart des propriétés du contrôle affectent le ListView comportement ou l’affichage des différentes vues. Certaines propriétés qui affectent les vues des éléments ne sont utiles que lorsque la View propriété est définie sur une valeur spécifique, tandis que d’autres sont utiles dans tous les affichages. Par exemple, les propriétés telles que GridLines et FullRowSelect ne sont utiles que lorsque la propriété a la ViewView.Detailsvaleur , tandis que les MultiSelect propriétés et CheckBoxes sont utiles dans toutes les vues.

Le tableau suivant présente certains des ListView membres et les vues dans lesquelles ils sont valides.

Membre ListView Vue
PropriétéAlignment SmallIcon ou LargeIcon
PropriétéAutoArrange SmallIcon ou LargeIcon
Méthode AutoResizeColumn Details
CheckBoxes Toutes les vues à l’exception de Tile
PropriétéColumns Details ou Tile
ÉvénementDrawSubItem Details
Méthode FindItemWithText Details, Listou Tile
Méthode FindNearestItem SmallIcon ou LargeIcon
Méthode GetItemAt Details ou Tile
PropriétéGroups Toutes les vues à l’exception de List
Propriété HeaderStyle Details
Propriété InsertionMark LargeIcon, SmallIconou Tile

Vous pouvez utiliser la View propriété pour fournir différentes vues de données dans votre application, ou pour verrouiller une vue spécifique afin d’utiliser les avantages de cette vue. Par exemple, la View propriété est souvent définie sur View.Details , car l’affichage détails fournit un certain nombre d’options d’affichage non disponibles dans les autres affichages.

Notes

Si aucun en-tête de colonne n’est spécifié pour votre ListView contrôle et que vous définissez la View propriété sur View.Details, le ListView contrôle n’affiche aucun élément. Si aucun en-tête de colonne n’est spécifié pour votre ListView contrôle et que vous définissez la View propriété sur View.Tile, le ListView contrôle n’affiche aucun sous-élément.

La vue vignette affiche chaque élément avec une grande icône à gauche et des informations textuelles à droite. Les informations textuelles se composent de l’étiquette d’élément suivie de sous-éléments. Par défaut, seul le premier sous-élément est affiché, qui correspond à l’étiquette de l’élément. Pour afficher des sous-éléments supplémentaires, vous devez ajouter ColumnHeader des objets à la Columns collection. Chaque sous-élément de la vignette correspond à un en-tête de colonne. Pour contrôler les sous-éléments affichés et l’ordre dans lequel ils sont affichés, vous devez définir la ListViewItem.ListViewSubItem.Name propriété pour chaque élément et la ColumnHeader.Name propriété pour chaque en-tête. Vous pouvez ensuite ajouter, supprimer et réorganiser des en-têtes dans la Columns collection pour obtenir le résultat souhaité.

Pour contrôler la taille des vignettes dans la vue vignette, définissez la TileSize propriété . Cela est utile pour empêcher l’habillage de ligne lorsque le texte du sous-élément est trop long pour une seule ligne.

Pour obtenir un exemple d’affichage en mosaïque, consultez la TileSize propriété .

Notes

Bien que les colonnes soient affichées uniquement dans l’affichage détails, les sous-éléments sans en-têtes de colonne ne s’affichent pas dans l’affichage détails ou dans la vue vignette.

La vue vignette est disponible uniquement sur Windows XP et Windows Server 2003 lorsque votre application appelle la Application.EnableVisualStyles méthode . Sur les systèmes d'exploitation antérieurs, tout code lié à l'affichage en mosaïque n'a aucun effet et le contrôle ListView s'affiche en mode Grandes icônes. Par conséquent, tout code qui dépend de l’affichage en mosaïque peut ne pas fonctionner correctement.

Vous pouvez inclure du code qui détermine si l’affichage en vignette est disponible et fournit d’autres fonctionnalités lorsqu’il n’est pas disponible. Par exemple, lorsque vous utilisez le dessin propriétaire pour personnaliser l’apparence des ListView éléments dans la vue vignette, vous pouvez utiliser le code de dessin approprié à l’affichage d’icônes volumineuses lors de l’exécution sur des systèmes d’exploitation qui ne prennent pas en charge le mode vignette.

La fonctionnalité d’affichage des vignettes est fournie par la même bibliothèque que celle qui fournit la fonctionnalité thèmes du système d’exploitation. Pour case activée la disponibilité de cette bibliothèque, appelez la surcharge de méthode FeatureSupport.IsPresent(Object) et transmettez la OSFeature.Themes valeur .

S’applique à

Voir aussi