Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

ListView.GetItemAt méthode (Int32, Int32)

 

Date de publication : juillet 2016

Récupère l'élément situé à l'emplacement spécifié.

Espace de noms:   System.Windows.Forms
Assembly:  System.Windows.Forms (dans System.Windows.Forms.dll)

public ListViewItem GetItemAt(
	int x,
	int y
)

Paramètres

x
Type: System.Int32

Coordonnée x de l’emplacement auquel rechercher un élément (exprimée en coordonnées clientes).

y
Type: System.Int32

Coordonnée y de l’emplacement auquel rechercher un élément (exprimée en coordonnées clientes).

Valeur de retour

Type: System.Windows.Forms.ListViewItem

Un ListViewItem qui représente l’élément à la position spécifiée. S’il n’existe aucun élément à l’emplacement spécifié, la méthode retourne null.

Le GetItemAt méthode vous permet de déterminer quel élément se trouve à un emplacement spécifique dans la zone cliente de la ListView contrôle. Vous pouvez utiliser cette méthode lorsque l’utilisateur clique ou clique un sous-élément (lorsque le View est définie sur View.Details) et que vous souhaitez déterminer quel élément appartient le sous-élément sur lequel l’utilisateur a cliqué selon les coordonnées de la souris au moment où l’utilisateur a cliqué sur la souris.

System_CAPS_noteRemarque

Lorsque le FullRowSelect valeur de propriété est false, cette méthode retourne un élément uniquement lorsque l’emplacement spécifié est dans les limites de l’élément parent (qui s’affiche dans la première colonne lorsque le contrôle est en mode Détails). Vous devez définir le FullRowSelect propriété true pour récupérer un élément avec cette méthode à un emplacement donnée dans les limites d’un sous-élément. Vous pouvez également utiliser le HitTest pour récupérer des informations détaillées sur l’élément à un emplacement particulier.

Faire glisser-déposer repositionnement d’éléments dans un ListView, vous souhaiterez peut-être utiliser le ListViewInsertionMark.NearestIndex méthode plutôt que la GetItemAt (méthode). Le ListViewInsertionMark.NearestIndex méthode recherche l’élément le plus proche, quelle que soit l’où se trouve le pointeur de la souris. Le GetItemAt (méthode), en revanche, retourne null s’il n’existe aucun élément à l’emplacement spécifié.

System_CAPS_noteRemarque

Le ListViewInsertionMark classe est pris en charge uniquement sur Windows XP et Windows Server 2003 lorsque votre application appelle la Application.EnableVisualStyles (méthode).

L’exemple de code suivant illustre l’utilisation de la PictureBox et ListView contrôles. Le PictureBox est initialisé en définissant le PictureBox.BorderStyle et PictureBox.SizeMode propriétés à l’aide de la BorderStyle et PictureBoxSizeMode énumérations, respectivement. Le ListView est rempli avec les images à partir du répertoire Samples. Le GetItemAt méthode est utilisée lors de la gestion de la ListView du contrôle MouseDown événement pour déterminer si un élément est sélectionné. Si un élément est sélectionné, le Gestionnaire d’événements affiche le fichier sélectionné en définissant le PictureBox.Image propriété. L’exemple requiert l’existence de fichiers JPG dans le répertoire C:\documents and Settings\All Users\Documents\My images\Échantillons d’images. Pour exécuter cet exemple, collez le code dans un formulaire et appelez le InitializePictureBox et PopulateListView méthodes dans le constructeur du formulaire ou Load (méthode). Assurez-vous que tous les événements sont associés à leurs gestionnaires d’événements.

private void PopulateListView()
{
	ListView1.Width = 270;
	ListView1.Location = new System.Drawing.Point(10, 10);

	// Declare and construct the ColumnHeader objects.
	ColumnHeader header1, header2;
	header1 = new ColumnHeader();
	header2 = new ColumnHeader();

	// Set the text, alignment and width for each column header.
	header1.Text = "File name";
	header1.TextAlign = HorizontalAlignment.Left;
	header1.Width = 70;

	header2.TextAlign = HorizontalAlignment.Left;
	header2.Text = "Location";
	header2.Width = 200;

	// Add the headers to the ListView control.
	ListView1.Columns.Add(header1);
	ListView1.Columns.Add(header2);

       // Specify that each item appears on a separate line.
       ListView1.View = View.Details;

       // Populate the ListView.Items property.
	// Set the directory to the sample picture directory.
	System.IO.DirectoryInfo dirInfo = 
		new System.IO.DirectoryInfo(
		"C:\\Documents and Settings\\All Users" +
		"\\Documents\\My Pictures\\Sample Pictures");


	// Get the .jpg files from the directory
	System.IO.FileInfo[] files = dirInfo.GetFiles("*.jpg");

	// Add each file name and full name including path
	// to the ListView.
	if (files != null)
	{
		foreach ( System.IO.FileInfo file in files )
		{
			ListViewItem item = new ListViewItem(file.Name);
			item.SubItems.Add(file.FullName);
			ListView1.Items.Add(item);
		}
	}
}

private void InitializePictureBox()
{
	PictureBox1 = new PictureBox();

	// Set the location and size of the PictureBox control.
	this.PictureBox1.Location = new System.Drawing.Point(70, 120);
	this.PictureBox1.Size = new System.Drawing.Size(140, 140);
	this.PictureBox1.TabStop = false;

	// Set the SizeMode property to the StretchImage value.  This
	// will shrink or enlarge the image as needed to fit into
	// the PictureBox.
	this.PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;

	// Set the border style to a three-dimensional border.
	this.PictureBox1.BorderStyle = BorderStyle.Fixed3D;

	// Add the PictureBox to the form.
	this.Controls.Add(this.PictureBox1);

}


private void ListView1_MouseDown(object sender, MouseEventArgs e)
{

	ListViewItem selection = ListView1.GetItemAt(e.X, e.Y);

	// If the user selects an item in the ListView, display
	// the image in the PictureBox.
	if (selection != null)
	{
		PictureBox1.Image = System.Drawing.Image.FromFile(
			selection.SubItems[1].Text);
	}
}

.NET Framework
Disponible depuis 1.1
Retour au début
Afficher: