Académique Documents
Professionnel Documents
Culture Documents
Utilisez ComboBox Pour Modifier Les Données Dans ListView - C # - Microsoft Docs
Utilisez ComboBox Pour Modifier Les Données Dans ListView - C # - Microsoft Docs
cet article
ription de la technique
r le contrôle ListView hérité
r l'exemple d'application
ez que cela fonctionne
rticle montre comment utiliser un contrôle ComboBox pour modifier les données
un contrôle ListView. Cette méthode remplace l'approche de zone de texte
ard de modification des données dans un contrôle ListView.
scription de la technique
ilisant la LabelEdit propriété du contrôle ListView, vous pouvez autoriser
sateur à modifier le contenu du contrôle ListView. Pour modifier les données dans
ntrôle ListView, vous pouvez utiliser une zone de texte standard. Parfois, il est utile
ir un autre contrôle pour modifier le contrôle. Cet article simule comment utiliser
ontrôle ComboBox pour modifier les données dans un ListView lorsque le ListView
n mode Détails.
ue l'utilisateur sélectionne une ligne dans ListView, un calcul est effectué pour
ser le rectangle de délimitation de la première colonne de la ligne sur laquelle
sateur a cliqué. Ce calcul tient compte du fait que la colonne peut ne pas être
e ou peut ne pas être entièrement visible lorsque la ligne est cliquée et lorsque la
de liste déroulante est dimensionnée et affichée de manière appropriée.
https://docs.microsoft.com/en-us/troubleshoot/dotnet/csharp/use-combobox-edit-listview 1/7
12/04/2021 Utilisez ComboBox pour modifier les données dans ListView - C # | Microsoft Docs
matiquement avec le ListView. Ainsi, chaque fois que l'un de ces deux messages se
uit, la zone de liste déroulante doit être masquée. Pour surveiller ces messages,
créez une UserControl classe personnalisée qui hérite de la classe ListView. Dans ce
ôle personnalisé, la WndProc méthode est remplacée pour permettre à tous les
ages d'être vérifiés pour le défilement.
Dans le menu Fichier , pointez sur Nouveau , puis cliquez sur Projet .
Dans la boîte de dialogue Nouveau projet , cliquez sur Projets Visual C # sous
Types de projets , puis cliquez sur Bibliothèque de contrôles Windows sous
Modèles .
C# = Copie
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;
namespace InheritedListView
{
/// <summary>
/// Summary description for UserControl1.
/// </summary>
public class MyListView : System.Windows.Forms.ListView
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public MyListView()
{
// This call is required by the Windows.Forms Form De-
signer.
InitializeComponent();
// TODO: Add any initialization after the InitForm call
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose(bool disposing)
https://docs.microsoft.com/en-us/troubleshoot/dotnet/csharp/use-combobox-edit-listview 2/7
12/04/2021 Utilisez ComboBox pour modifier les données dans ListView - C # | Microsoft Docs
{
if (disposing)
{
if (components != null)
components.Dispose();
}
base.Dispose(disposing);
}
Suivez ces étapes pour ajouter le contrôle que vous avez créé dans la section
Créer le contrôle ListView hérité à votre application Windows:
https://docs.microsoft.com/en-us/troubleshoot/dotnet/csharp/use-combobox-edit-listview 3/7
12/04/2021 Utilisez ComboBox pour modifier les données dans ListView - C # | Microsoft Docs
C# = Copie
C# = Copie
// Loop through and size each column header to fit the column header
text.
foreach (ColumnHeader ch in this.myListView1.Columns)
{
ch.Width = -2;
}
C# = Copie
C# = Copie
C# = Copie
case (char)(int)Keys.Enter:
{
// Hide the ComboBox.
this.cbListViewCombo.Visible = false;
https://docs.microsoft.com/en-us/troubleshoot/dotnet/csharp/use-combobox-edit-listview 5/7
12/04/2021 Utilisez ComboBox pour modifier les données dans ListView - C # | Microsoft Docs
break;
}
}
C# = Copie
ClickedItem.X += this.myListView1.Left;
// Set default text for ComboBox to match the item that is clicked.
this.cbListViewCombo.Text = lvItem.Text;
// Display the ComboBox, and make sure that it is on top with fo-
cus.
this.cbListViewCombo.Visible = true;
this.cbListViewCombo.BringToFront();
this.cbListViewCombo.Focus();
}
7 Noter
Pour masquer la zone de liste déroulante, cliquez sur un élément dans la zone de
liste déroulante, appuyez sur ÉCHAP et puis faites défiler la liste ou cliquez sur un
autre contrôle.
7 Noter
La valeur sur laquelle vous avez cliqué dans la zone de liste déroulante est
placée dans la première colonne de la ligne sur laquelle vous avez cliqué de
ListView.
https://docs.microsoft.com/en-us/troubleshoot/dotnet/csharp/use-combobox-edit-listview 7/7