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

ImageList classe

 

Date de publication : novembre 2016

Fournit des méthodes pour gérer une collection de Image objets. Cette classe ne peut pas être héritée.

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

System.Object
  System.MarshalByRefObject
    System.ComponentModel.Component
      System.Windows.Forms.ImageList

public sealed class ImageList : Component

NomDescription
System_CAPS_pubmethodImageList()

Initialise une nouvelle instance de la ImageList classe avec des valeurs par défaut pour ColorDepth, ImageSize, et TransparentColor.

System_CAPS_pubmethodImageList(IContainer)

Initialise une nouvelle instance de la ImageList classe, associant à un conteneur.

NomDescription
System_CAPS_pubpropertyColorDepth

Obtient la profondeur de couleur de la liste d’images.

System_CAPS_pubpropertyContainer

Obtient les IContainer qui contient la Component.(Hérité de Component.)

System_CAPS_pubpropertyHandle

Obtient le handle de l’objet de liste d’images.

System_CAPS_pubpropertyHandleCreated

Obtient une valeur indiquant si le handle Win32 sous-jacent a été créé.

System_CAPS_pubpropertyImages

Obtient le ImageList.ImageCollection pour cette liste d’images.

System_CAPS_pubpropertyImageSize

Obtient ou définit la taille des images dans la liste d’images.

System_CAPS_pubpropertyImageStream

Obtient le ImageListStreamer associé à cette liste d’images.

System_CAPS_pubpropertySite

Obtient ou définit le ISite de la Component.(Hérité de Component.)

System_CAPS_pubpropertyTag

Obtient ou définit un objet qui contient des données supplémentaires sur le ImageList.

System_CAPS_pubpropertyTransparentColor

Obtient ou définit la couleur à traiter comme transparente.

NomDescription
System_CAPS_pubmethodCreateObjRef(Type)

Crée un objet qui contient toutes les informations requises pour générer un proxy permettant de communiquer avec un objet distant.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodDispose()

Libère toutes les ressources utilisées par Component.(Hérité de Component.)

System_CAPS_pubmethodDraw(Graphics, Int32, Int32, Int32)

Dessine l’image indiquée par l’index donné sur le Graphics à l’emplacement spécifié.

System_CAPS_pubmethodDraw(Graphics, Int32, Int32, Int32, Int32, Int32)

Dessine l’image indiquée par l’index donné sur le Graphics à l’aide de l’emplacement spécifié et la taille.

System_CAPS_pubmethodDraw(Graphics, Point, Int32)

Dessine l’image indiquée par l’index spécifié sur le Graphics à l’emplacement spécifié.

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetLifetimeService()

Récupère l’objet de service de durée de vie actuelle qui contrôle la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodToString()

Cette API prend en charge l’infrastructure de produit et n’est pas destinée à être utilisée directement depuis votre code. Retourne une chaîne qui représente le ImageList actuel.(Remplace Component.ToString().)

NomDescription
System_CAPS_pubeventDisposed

Se produit lorsque le composant est supprimé par un appel à la Dispose (méthode).(Hérité de Component.)

System_CAPS_pubeventRecreateHandle

Se produit lorsque le Handle est recréé.

ImageList est généralement utilisé par d’autres contrôles, tels que le ListView, TreeView, ou ToolBar. Vous pouvez ajouter des bitmaps ou des icônes pour le ImageList, et les autres contrôles sont en mesure d’utiliser les images selon leurs besoins.

ImageList utilise un handle afin de gérer la liste d’images. Le Handle n’est pas créé tant que certaines opérations, telles que la mise en route du Handle ou en appelant Draw, sont effectuées sur la liste d’images. Exécuter d’autres opérations, comme paramètre le ColorDepth ou ImageSize entraîne la Handle être recréé. Par conséquent, vous devez effectuer ces opérations avant d’ajouter des images à le ImageList. En outre, lorsque vous travaillez avec des formulaires destinés à être localisés, vous devez toujours ajouter un ImageList et des images lorsque la propriété Language d’un formulaire est la valeur par défaut. Modification de la langue du formulaire avant d’ajouter des images endommagera les fichiers de ressources d’application.

L’exemple de code suivant montre comment sélectionner, supprimer et afficher des images.

namespace myImageRotator
{
	using System;
	using System.Drawing;
	using System.ComponentModel;
	using System.Windows.Forms;

	public class Form1 : System.Windows.Forms.Form
	{
		private System.ComponentModel.IContainer components;
		private System.Windows.Forms.ListBox listBox1;
		private System.Windows.Forms.Label label3;
		private System.Windows.Forms.Button button1;
		private System.Windows.Forms.Button button2;
		private System.Windows.Forms.Button button3;
		private System.Windows.Forms.Button button4;
		private System.Windows.Forms.PictureBox pictureBox1;
		private System.Windows.Forms.ImageList imageList1;
		private System.Windows.Forms.OpenFileDialog openFileDialog1;
		protected Graphics myGraphics;
		private System.Windows.Forms.Panel panel1;
		private System.Windows.Forms.Label label5;
		private int currentImage = 0;

		public Form1()
		{
			InitializeComponent();
			imageList1 = new ImageList () ;

			// The default image size is 16 x 16, which sets up a larger
			// image size. 
			imageList1.ImageSize = new Size(255,255);
			imageList1.TransparentColor = Color.White;

			// Assigns the graphics object to use in the draw options.
			myGraphics = Graphics.FromHwnd(panel1.Handle);
		}

        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.listBox1 = new System.Windows.Forms.ListBox();
            this.label3 = new System.Windows.Forms.Label();
            this.button1 = new System.Windows.Forms.Button();
            this.button2 = new System.Windows.Forms.Button();
            this.button3 = new System.Windows.Forms.Button();
            this.button4 = new System.Windows.Forms.Button();
            this.pictureBox1 = new System.Windows.Forms.PictureBox();
            this.imageList1 = new System.Windows.Forms.ImageList(this.components);
            this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
            this.panel1 = new System.Windows.Forms.Panel();
            this.label5 = new System.Windows.Forms.Label();
            this.SuspendLayout();

            this.listBox1.Location = new System.Drawing.Point(16, 16);
            this.listBox1.Size = new System.Drawing.Size(400, 95);
            this.listBox1.TabIndex = 0;

            this.label3.Location = new System.Drawing.Point(24, 168);
            this.label3.Text = "label3";

            this.button1.Location = new System.Drawing.Point(96, 128);
            this.button1.Size = new System.Drawing.Size(104, 23);
            this.button1.Text = "Show Next Image";
            this.button1.Click += new System.EventHandler(this.button1_Click);

            this.button2.Location = new System.Drawing.Point(208, 128);
            this.button2.Size = new System.Drawing.Size(104, 23);
            this.button2.Text = "Remove Image";
            this.button2.Click += new System.EventHandler(this.button2_Click);

            this.button3.Location = new System.Drawing.Point(320, 128);
            this.button3.Text = "Clear List";
            this.button3.Click += new System.EventHandler(this.button3_Click);

            this.button4.Location = new System.Drawing.Point(16, 128);
            this.button4.Text = "Open Image";
            this.button4.Click += new System.EventHandler(this.button4_Click);

            this.pictureBox1.Location = new System.Drawing.Point(328, 232);
            this.pictureBox1.Size = new System.Drawing.Size(336, 192);

            this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
            this.imageList1.TransparentColor = System.Drawing.Color.Transparent;

            this.panel1.Location = new System.Drawing.Point(8, 240);
            this.panel1.Size = new System.Drawing.Size(296, 184);

            this.label5.Location = new System.Drawing.Point(168, 168);
            this.label5.Size = new System.Drawing.Size(312, 40);
            this.label5.Text = "label5";

            this.ClientSize = new System.Drawing.Size(672, 461);
            this.Controls.Add(this.label5);
            this.Controls.Add(this.panel1);
            this.Controls.Add(this.pictureBox1);
            this.Controls.Add(this.button4);
            this.Controls.Add(this.button3);
            this.Controls.Add(this.button2);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.label3);
            this.Controls.Add(this.listBox1);
            this.ResumeLayout(false);
        }

        // Display the image.
        private void button1_Click (object sender, System.EventArgs e)
		{
			if(imageList1.Images.Empty != true)
			{
				if(imageList1.Images.Count-1 > currentImage)
				{
					currentImage++;
				}
				else
				{
					currentImage=0;
				}
				panel1.Refresh();

                // Draw the image in the panel.
				imageList1.Draw(myGraphics,10,10,currentImage);

                // Show the image in the PictureBox.
				pictureBox1.Image = imageList1.Images[currentImage];
				label3.Text = "Current image is " + currentImage ;
				listBox1.SelectedIndex = currentImage;
				label5.Text = "Image is " + listBox1.Text ;
            }
		}

        // Remove the image.
		private void button2_Click (object sender, System.EventArgs e)
		{
			imageList1.Images.RemoveAt(listBox1.SelectedIndex);
			listBox1.Items.Remove(listBox1.SelectedItem);
		}

        // Clear all images.
		private void button3_Click (object sender, System.EventArgs e)
		{
			imageList1.Images.Clear();
			listBox1.Items.Clear();
		}

        // Find an image.
		private void button4_Click (object sender, System.EventArgs e)
		{
			openFileDialog1.Multiselect = true ;
			if(openFileDialog1.ShowDialog() == DialogResult.OK)
			{
				if (openFileDialog1.FileNames != null)
				{
					for(int i =0 ; i < openFileDialog1.FileNames.Length ; i++ )
					{
						addImage(openFileDialog1.FileNames[i]);
					}
				}
				else
					addImage(openFileDialog1.FileName);
			}

		}

		private void addImage(string imageToLoad)
		{
			if (imageToLoad != "")
			{
				imageList1.Images.Add(Image.FromFile(imageToLoad));
				listBox1.BeginUpdate();
				listBox1.Items.Add(imageToLoad);
				listBox1.EndUpdate();
			}
		}
        [STAThread]
        public static void Main(string[] args) 
		{
			Application.Run(new Form1());
		}
	}
}

.NET Framework
Disponible depuis 1.1

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: