ImageList.ImageCollection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
public: ref class ImageList::ImageCollection sealed : System::Collections::IList
public sealed class ImageList.ImageCollection : System.Collections.IList
type ImageList.ImageCollection = class
interface IList
interface ICollection
interface IEnumerable
Public NotInheritable Class ImageList.ImageCollection
Implements IList
- Vererbung
-
ImageList.ImageCollection
- Implementiert
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie Sie Bilder aus der -Eigenschaft der Images -Klasse auswählen, entfernen und anzeigen, die ImageList ein ImageList.ImageCollection Typ ist.
namespace myImageRotator
#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
{
using namespace System;
using namespace System::Drawing;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;
public ref class Form1 : public 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;
public:
Form1()
{
InitializeComponent();
imageList1 = gcnew ImageList () ;
currentImage = 0;
// The default image size is 16 x 16, which sets up a larger
// image size.
imageList1->ImageSize = System::Drawing::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 = gcnew System::ComponentModel::Container();
this->listBox1 = gcnew System::Windows::Forms::ListBox();
this->label3 = gcnew System::Windows::Forms::Label();
this->button1 = gcnew System::Windows::Forms::Button();
this->button2 = gcnew System::Windows::Forms::Button();
this->button3 = gcnew System::Windows::Forms::Button();
this->button4 = gcnew System::Windows::Forms::Button();
this->pictureBox1 = gcnew System::Windows::Forms::PictureBox();
this->imageList1 = gcnew System::Windows::Forms::ImageList(this->components);
this->openFileDialog1 = gcnew System::Windows::Forms::OpenFileDialog();
this->panel1 = gcnew System::Windows::Forms::Panel();
this->label5 = gcnew System::Windows::Forms::Label();
this->SuspendLayout();
this->listBox1->Location = System::Drawing::Point(16, 16);
this->listBox1->Size = System::Drawing::Size(400, 95);
this->listBox1->TabIndex = 0;
this->label3->Location = System::Drawing::Point(24, 168);
this->label3->Text = "label3";
this->button1->Location = System::Drawing::Point(96, 128);
this->button1->Size = System::Drawing::Size(104, 23);
this->button1->Text = "Show Next Image";
this->button1->Click += gcnew System::EventHandler(this,&Form1::button1_Click);
this->button2->Location = System::Drawing::Point(208, 128);
this->button2->Size = System::Drawing::Size(104, 23);
this->button2->Text = "Remove Image";
this->button2->Click += gcnew System::EventHandler(this,&Form1::button2_Click);
this->button3->Location = System::Drawing::Point(320, 128);
this->button3->Text = "Clear List";
this->button3->Click += gcnew System::EventHandler(this,&Form1::button3_Click);
this->button4->Location = System::Drawing::Point(16, 128);
this->button4->Text = "Open Image";
this->button4->Click += gcnew System::EventHandler(this,&Form1::button4_Click);
this->pictureBox1->Location = System::Drawing::Point(328, 232);
this->pictureBox1->Size = System::Drawing::Size(336, 192);
this->imageList1->ImageSize = System::Drawing::Size(16, 16);
this->imageList1->TransparentColor = System::Drawing::Color::Transparent;
this->panel1->Location = System::Drawing::Point(8, 240);
this->panel1->Size = System::Drawing::Size(296, 184);
this->label5->Location = System::Drawing::Point(168, 168);
this->label5->Size = System::Drawing::Size(312, 40);
this->label5->Text = "label5";
this->ClientSize = 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 ;
label5->Text = String::Concat("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() == System::Windows::Forms::DialogResult::OK)
{
if (openFileDialog1->FileNames != nullptr)
{
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();
}
}
public:
static void Main(array<String^>^ /*args*/)
{
Application::Run(gcnew Form1());
}
};
}
[STAThreadAttribute]
int main(){
myImageRotator::Form1::Main(nullptr);
}
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());
}
}
}
Imports System.Drawing
Imports System.ComponentModel
Imports System.Windows.Forms
Public Class Form1
Inherits System.Windows.Forms.Form
Private listBox1 As System.Windows.Forms.ListBox
Private label3 As System.Windows.Forms.Label
Private WithEvents button1 As System.Windows.Forms.Button
Private WithEvents button2 As System.Windows.Forms.Button
Private WithEvents button3 As System.Windows.Forms.Button
Private WithEvents button4 As System.Windows.Forms.Button
Private pictureBox1 As System.Windows.Forms.PictureBox
Private imageList1 As System.Windows.Forms.ImageList
Private openFileDialog1 As System.Windows.Forms.OpenFileDialog
Protected myGraphics As Graphics
Private panel1 As System.Windows.Forms.Panel
Private label5 As System.Windows.Forms.Label
Private currentImage As Integer = 0
Public Sub New()
imageList1 = New ImageList()
InitializeComponent()
' 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)
End Sub
Private Sub InitializeComponent()
Me.listBox1 = New System.Windows.Forms.ListBox()
Me.label3 = New System.Windows.Forms.Label()
Me.button1 = New System.Windows.Forms.Button()
Me.button2 = New System.Windows.Forms.Button()
Me.button3 = New System.Windows.Forms.Button()
Me.button4 = New System.Windows.Forms.Button()
Me.pictureBox1 = New System.Windows.Forms.PictureBox()
Me.openFileDialog1 = New System.Windows.Forms.OpenFileDialog()
Me.panel1 = New System.Windows.Forms.Panel()
Me.label5 = New System.Windows.Forms.Label()
Me.SuspendLayout()
Me.listBox1.Location = New System.Drawing.Point(16, 16)
Me.listBox1.Size = New System.Drawing.Size(400, 95)
Me.listBox1.TabIndex = 0
Me.label3.Location = New System.Drawing.Point(24, 168)
Me.label3.Text = "label3"
Me.button1.Location = New System.Drawing.Point(96, 128)
Me.button1.Size = New System.Drawing.Size(104, 23)
Me.button1.Text = "Show Next Image"
Me.button2.Location = New System.Drawing.Point(208, 128)
Me.button2.Size = New System.Drawing.Size(104, 23)
Me.button2.Text = "Remove Image"
Me.button3.Location = New System.Drawing.Point(320, 128)
Me.button3.Text = "Clear List"
Me.button4.Location = New System.Drawing.Point(16, 128)
Me.button4.Text = "Open Image"
Me.pictureBox1.Location = New System.Drawing.Point(328, 232)
Me.pictureBox1.Size = New System.Drawing.Size(336, 192)
Me.imageList1.ImageSize = New System.Drawing.Size(16, 16)
Me.imageList1.TransparentColor = System.Drawing.Color.Transparent
Me.panel1.Location = New System.Drawing.Point(8, 240)
Me.panel1.Size = New System.Drawing.Size(296, 184)
Me.label5.Location = New System.Drawing.Point(168, 168)
Me.label5.Size = New System.Drawing.Size(312, 40)
Me.label5.Text = "label5"
Me.ClientSize = New System.Drawing.Size(672, 461)
Me.Controls.Add(label5)
Me.Controls.Add(panel1)
Me.Controls.Add(pictureBox1)
Me.Controls.Add(button4)
Me.Controls.Add(button3)
Me.Controls.Add(button2)
Me.Controls.Add(button1)
Me.Controls.Add(label3)
Me.Controls.Add(listBox1)
Me.ResumeLayout(False)
End Sub
' Display the image.
Private Sub button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles button1.Click
If imageList1.Images.Empty <> True Then
If imageList1.Images.Count - 1 > currentImage Then
currentImage += 1
Else
currentImage = 0
End If
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.ToString
listBox1.SelectedIndex = currentImage
label5.Text = "Image is " + listBox1.Text
End If
End Sub
' Remove the image.
Private Sub button2_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles button2.Click
imageList1.Images.RemoveAt(listBox1.SelectedIndex)
listBox1.Items.Remove(listBox1.SelectedItem)
End Sub
' Clear all images.
Private Sub button3_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles button3.Click
imageList1.Images.Clear()
listBox1.Items.Clear()
End Sub
' Find an image.
Private Sub button4_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles button4.Click
openFileDialog1.Multiselect = True
If openFileDialog1.ShowDialog() = DialogResult.OK Then
If (openFileDialog1.FileNames IsNot Nothing) Then
Dim i As Integer
For i = 0 To openFileDialog1.FileNames.Length - 1
addImage(openFileDialog1.FileNames(i))
Next i
Else
addImage(openFileDialog1.FileName)
End If
End If
End Sub
Private Sub addImage(ByVal imageToLoad As String)
If imageToLoad <> "" Then
imageList1.Images.Add(Image.FromFile(imageToLoad))
listBox1.BeginUpdate()
listBox1.Items.Add(imageToLoad)
listBox1.EndUpdate()
End If
End Sub
<StaThread()> _
Public Shared Sub Main(ByVal args() As String)
Application.Run(New Form1())
End Sub
End Class
Hinweise
Dies wird verwendet, um die Bilder im ImageList programmgesteuert zu verwalten und Methoden zum Hinzufügen und Entfernen von Bildobjekten bereitzustellen.
Eigenschaften
Count |
Ruft die Anzahl der derzeit in der Liste vorhandenen Bilder ab. |
Empty |
Ruft einen Wert ab, der angibt, ob ImageList Bilder enthält. |
IsReadOnly |
Ruft einen Wert ab, der angibt, ob die Liste schreibgeschützt ist. |
Item[Int32] |
Ruft ein Image am angegebenen Index in der Auflistung ab oder legt dieses fest. |
Item[String] |
Ruft ein Image mit dem angegebenen Schlüssel aus der Auflistung ab. |
Keys |
Ruft die Auflistung von Schlüsseln ab, die den Bildern in der ImageList.ImageCollection zugeordnet sind. |
Methoden
Add(Icon) |
Fügt ImageList das angegebene Symbol hinzu. |
Add(Image) |
Fügt ImageList das angegebene Bild hinzu. |
Add(Image, Color) |
Fügt ImageList das angegebene Bild hinzu, wobei zum Generieren der Maske die angegebene Farbe verwendet wird. |
Add(String, Icon) |
Fügt ein Symbol mit dem angegebenen Schlüssel am Ende der Auflistung hinzu. |
Add(String, Image) |
Fügt ein Bild mit dem angegebenen Schlüssel am Ende der Auflistung hinzu. |
AddRange(Image[]) |
Fügt der Auflistung ein Array von Bildern hinzu. |
AddStrip(Image) |
Fügt der ImageList einen Bildstreifen des angegebenen Bildes hinzu. |
Clear() |
Entfernt alle Bilder und Masken aus ImageList. |
Contains(Image) |
Wird nicht unterstützt. Mit der Contains(Object)-Methode wird angegeben, ob ein angegebenes Objekt in der Liste enthalten ist. |
ContainsKey(String) |
Bestimmt, ob die Auflistung ein Bild mit dem angegebenen Schlüssel enthält. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetEnumerator() |
Gibt einen Enumerator zurück, der zum Durchlaufen der Elementauflistung verwendet werden kann. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
IndexOf(Image) |
Wird nicht unterstützt. Die IndexOf(Object)-Methode gibt den Index eines angegebenen Objekts in der Liste zurück. |
IndexOfKey(String) |
Bestimmt den Index des ersten Vorkommens eines Bildes mit dem angegebenen Schlüssel in der Auflistung. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
Remove(Image) |
Wird nicht unterstützt. Die Remove(Object)-Methode entfernt ein angegebenes Objekt aus der Liste. |
RemoveAt(Int32) |
Entfernt ein Bild aus der Liste. |
RemoveByKey(String) |
Entfernt das Bild mit dem angegebenen Schlüssel aus der Auflistung. |
SetKeyName(Int32, String) |
Legt den Schlüssel für ein Bild in der Auflistung fest. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
ICollection.CopyTo(Array, Int32) |
Kopiert die Elemente in dieser Auflistung in ein kompatibles eindimensionales Array, beginnend ab dem angegebenen Index im Zielarray. |
ICollection.IsSynchronized |
Ruft einen Wert ab, der angibt, ob der Zugriff auf die Auflistung synchronisiert ist (threadsicher). |
ICollection.SyncRoot |
Ruft ein Objekt ab, mit dem der Zugriff auf die Auflistung synchronisiert werden kann. |
IList.Add(Object) |
Fügt ImageList das angegebene Bild hinzu. |
IList.Contains(Object) |
Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht. Implementiert die Contains(Object)-Methode. Löst in allen Fällen eine NotSupportedException aus. |
IList.IndexOf(Object) |
Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht. Implementiert die IndexOf(Object)-Methode. Löst in allen Fällen eine NotSupportedException aus. |
IList.Insert(Int32, Object) |
Implementiert die Insert(Int32, Object)-Methode. Löst in allen Fällen eine NotSupportedException aus. |
IList.IsFixedSize |
Ruft einen Wert ab, der angibt, ob das ImageList.ImageCollection eine feste Größe aufweist. |
IList.Item[Int32] |
Ruft ein Bild aus einer vorhandenen ImageList.ImageCollection ab oder legt dieses fest. |
IList.Remove(Object) |
Implementiert das Remove(Object). Löst in allen Fällen eine NotSupportedException aus. |
Erweiterungsmethoden
Cast<TResult>(IEnumerable) |
Wandelt die Elemente eines IEnumerable in den angegebenen Typ um |
OfType<TResult>(IEnumerable) |
Filtert die Elemente eines IEnumerable anhand eines angegebenen Typs |
AsParallel(IEnumerable) |
Ermöglicht die Parallelisierung einer Abfrage. |
AsQueryable(IEnumerable) |
Konvertiert einen IEnumerable in einen IQueryable. |