ListView.View Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit la façon dont les éléments sont affichés 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 View valeurs. La valeur par défaut est LargeIcon.
Exceptions
La valeur spécifiée n’est pas l’une des View valeurs.
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 propriétés et SmallImageList aux LargeImageList propriétés. L’exemple utilise les propriétés suivantes dans la création du ListView contrôle.
Cet exemple nécessite que vous ayez ajouté le code à une Form méthode et appelez la méthode créée dans l’exemple à partir du constructeur ou d’une autre méthode sur le formulaire. L’exemple nécessite é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 des icônes volumineuses ou petites ou des éléments d’affichage 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 tous 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 parfait d’afficher les 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 sous-éléments de votre choix. Pour activer l’affichage des vignettes, 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é du ImageListSmallImageList ou LargeImageList des propriétés.
Note
Si vous utilisez plusieurs listes d’images, pour une vue d’icône petite et grande, avec un ListView contrôle, vous devez placer des versions petites et volumineuses 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 ListView contrôle affectent le 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 toutes les vues. Par exemple, les propriétés telles que GridLines et FullRowSelect ne sont utiles que lorsque la View propriété est définie View.Detailssur , tandis que les MultiSelect propriétés et CheckBoxes les propriétés sont utiles dans toutes les vues.
Le tableau suivant montre certains des ListView membres et les vues dans lesquelles ils sont valides.
| Membre ListView | Afficher |
|---|---|
| Propriété Alignment | SmallIcon ou LargeIcon |
| Propriété AutoArrange | SmallIcon ou LargeIcon |
| méthode AutoResizeColumn | Details |
| CheckBoxes | Toutes les vues sauf Tile |
| Propriété Columns | Details ou Tile |
| événement DrawSubItem | Details |
| méthode FindItemWithText | Details, List ou Tile |
| méthode FindNearestItem | SmallIcon ou LargeIcon |
| méthode GetItemAt | Details ou Tile |
| Propriété Groups | Toutes les vues sauf List |
| Propriété HeaderStyle | Details |
| Propriété InsertionMark | LargeIcon, SmallIcon ou Tile |
Vous pouvez utiliser la View propriété pour fournir différentes vues de données dans votre application ou verrouiller une vue spécifique pour utiliser les avantages de cette vue. Par exemple, la View propriété est souvent définie sur View.Details car la vue détails fournit un certain nombre d’options d’affichage non disponibles dans les autres affichages.
Note
Si votre ListView contrôle n’a pas d’en-têtes de colonne spécifiés et que vous définissez la View propriété View.Detailssur , le ListView contrôle n’affiche aucun élément. Si votre ListView contrôle n’a pas d’en-têtes de colonne spécifiés et que vous définissez la View propriété View.Tilesur , le ListView contrôle n’affiche aucun sous-élément.
La vue mosaïque affiche chaque élément avec une grande icône à gauche et des informations textuelles sur la 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 d’élément. Pour afficher des sous-éléments supplémentaires, vous devez ajouter des ColumnHeader 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 mosaïque, définissez la TileSize propriété. Cela est utile pour empêcher l’habillage de ligne lorsque le texte sous-élément est trop long pour une seule ligne.
Pour obtenir un exemple de vue mosaïque, consultez la TileSize propriété.
Note
Bien que les colonnes ne soient affichées que 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 précédents, tout code lié à l’affichage mosaïque n’a aucun effet et le ListView contrôle s’affiche dans l’affichage d’icônes volumineux. Par conséquent, tout code qui dépend de la vue de vignette peut ne pas fonctionner correctement.
Vous pouvez inclure du code qui détermine si l’affichage des vignettes 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 l’affichage mosaïque, vous pouvez utiliser le code de dessin approprié à l’affichage d’icônes volumineux lors de l’exécution sur des systèmes d’exploitation qui ne prennent pas en charge l’affichage 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 vérifier la disponibilité de cette bibliothèque, appelez la FeatureSupport.IsPresent(Object) surcharge de méthode et transmettez la OSFeature.Themes valeur.