ImageList.ImageCollection Klasa

Definicja

Hermetyzuje kolekcję Image obiektów w obiekcie ImageList.

C#
public sealed class ImageList.ImageCollection : System.Collections.IList
Dziedziczenie
ImageList.ImageCollection
Implementuje

Przykłady

Poniższy przykład kodu przedstawia sposób wybierania, usuwania i wyświetlania obrazów z Images właściwości ImageList klasy , która jest typem ImageList.ImageCollection .

C#
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());
        }
    }
}

Uwagi

Służy to do programowego zarządzania obrazami ImageList , zapewniając metody dodawania i usuwania obiektów obrazów.

Właściwości

Count

Pobiera liczbę obrazów aktualnie znajdujących się na liście.

Empty

Pobiera wartość wskazującą ImageList , czy ma jakiekolwiek obrazy.

IsReadOnly

Pobiera wartość wskazującą, czy lista jest tylko do odczytu.

Item[Int32]

Pobiera lub ustawia obiekt Image w określonym indeksie w kolekcji.

Item[String]

Pobiera element Image z określonym kluczem z kolekcji.

Keys

Pobiera kolekcję kluczy skojarzonych z obrazami w pliku ImageList.ImageCollection.

Metody

Add(Icon)

Dodaje określoną ikonę do elementu ImageList.

Add(Image)

Dodaje określony obraz do elementu ImageList.

Add(Image, Color)

Dodaje określony obraz do ImageListelementu przy użyciu określonego koloru w celu wygenerowania maski.

Add(String, Icon)

Dodaje ikonę z określonym kluczem na końcu kolekcji.

Add(String, Image)

Dodaje obraz z określonym kluczem na końcu kolekcji.

AddRange(Image[])

Dodaje tablicę obrazów do kolekcji.

AddStrip(Image)

Dodaje pasek obrazu dla określonego obrazu do elementu ImageList.

Clear()

Usuwa wszystkie obrazy i maski z obiektu ImageList.

Contains(Image)

Nieobsługiwane. Metoda Contains(Object) wskazuje, czy określony obiekt znajduje się na liście.

ContainsKey(String)

Określa, czy kolekcja zawiera obraz z określonym kluczem.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający, który może służyć do iterowania po kolekcji elementów.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IndexOf(Image)

Nieobsługiwane. Metoda IndexOf(Object) zwraca indeks określonego obiektu na liście.

IndexOfKey(String)

Określa indeks pierwszego wystąpienia obrazu z określonym kluczem w kolekcji.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Remove(Image)

Nieobsługiwane. Metoda Remove(Object) usuwa określony obiekt z listy.

RemoveAt(Int32)

Usuwa obraz z listy.

RemoveByKey(String)

Usuwa obraz z określonym kluczem z kolekcji.

SetKeyName(Int32, String)

Ustawia klucz obrazu w kolekcji.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ICollection.CopyTo(Array, Int32)

Kopiuje elementy w tej kolekcji do zgodnej tablicy jednowymiarowej, począwszy od określonego indeksu tablicy docelowej.

ICollection.IsSynchronized

Pobiera wartość wskazującą, czy dostęp do kolekcji jest synchronizowany (bezpieczny wątek).

ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do kolekcji.

IList.Add(Object)

Dodaje określony obraz do elementu ImageList.

IList.Contains(Object)

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Implementuje metodę Contains(Object) . Zgłasza wartość NotSupportedException we wszystkich przypadkach.

IList.IndexOf(Object)

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Implementuje metodę IndexOf(Object) . Zgłasza wartość NotSupportedException we wszystkich przypadkach.

IList.Insert(Int32, Object)

Implementuje metodę Insert(Int32, Object) . Zgłasza wartość NotSupportedException we wszystkich przypadkach.

IList.IsFixedSize

Pobiera wartość wskazującą, czy ma ImageList.ImageCollection stały rozmiar.

IList.Item[Int32]

Pobiera lub ustawia obraz w istniejącym ImageList.ImageCollectionobiekcie .

IList.Remove(Object)

Implementuje element Remove(Object). Zgłasza wartość NotSupportedException we wszystkich przypadkach.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy obiektu IEnumerable na określony typ.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable elementu na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy

Produkt Wersje
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9