Vorgehensweise: Hinzufügen oder Entfernen von Bildern mit der Windows Forms ImageList-Komponente
Die Komponente "Windows Forms ImageList" wird in der Regel mit Bildern aufgefüllt, bevor sie einem Steuerelement zugeordnet ist. Sie können jedoch Bilder hinzufügen und entfernen, nachdem Sie die Bildliste einem Steuerelement zugeordnet haben.
Anmerkung
Stellen Sie beim Entfernen von Bildern sicher, dass die ImageIndex Eigenschaft aller zugehörigen Steuerelemente weiterhin gültig ist.
So fügen Sie Bilder programmgesteuert hinzu
Verwenden Sie die Add Methode der Images Eigenschaft der Bildliste.
Im folgenden Codebeispiel ist der Pfad für den Speicherort des Bilds der Ordner "Eigene Dokumente". Dieser Speicherort wird verwendet, da Sie davon ausgehen können, dass die meisten Computer, auf denen das Windows-Betriebssystem ausgeführt wird, diesen Ordner enthalten. Wenn Sie diesen Speicherort auswählen, können Benutzer, die minimale Systemzugriffsebenen haben, die Anwendung sicherer ausführen. Damit das folgende Codebeispiel funktioniert, müssen Sie ein Formular haben, dem ein ImageList-Steuerelement bereits hinzugefügt wurde.
Public Sub LoadImage() Dim myImage As System.Drawing.Image = _ Image.FromFile _ (System.Environment.GetFolderPath _ (System.Environment.SpecialFolder.Personal) _ & "\Image.gif") ImageList1.Images.Add(myImage) End Sub
public void addImage() { // Be sure that you use an appropriate escape sequence (such as the // @) when specifying the location of the file. System.Drawing.Image myImage = Image.FromFile (System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal) + @"\Image.gif"); imageList1.Images.Add(myImage); }
public: void addImage() { // Replace the bold image in the following sample // with your own icon. // Be sure that you use an appropriate escape sequence (such as // \\) when specifying the location of the file. System::Drawing::Image ^ myImage = Image::FromFile(String::Concat( System::Environment::GetFolderPath( System::Environment::SpecialFolder::Personal), "\\Image.gif")); imageList1->Images->Add(myImage); }
Fügen Sie Bilder mit einem Schlüsselwert hinzu.
Verwenden Sie eine der Add Methoden der Images-Eigenschaft der Bildliste, die einen Schlüsselwert verwendet.
Im folgenden Codebeispiel ist der Pfad für den Speicherort des Bildes der Ordner "Eigene Dateien". Dieser Speicherort wird verwendet, da Sie davon ausgehen können, dass die meisten Computer, auf denen das Windows-Betriebssystem ausgeführt wird, diesen Ordner enthalten. Wenn Sie diesen Speicherort auswählen, können Benutzer, die minimale Systemzugriffsebenen haben, die Anwendung sicherer ausführen. Das folgende Codebeispiel setzt voraus, dass Sie ein Formular mit einem bereits hinzugefügten ImageList-Steuerelement haben.
Public Sub LoadImage() Dim myImage As System.Drawing.Image = _ Image.FromFile _ (System.Environment.GetFolderPath _ (System.Environment.SpecialFolder.Personal) _ & "\Image.gif") ImageList1.Images.Add("myPhoto", myImage) End Sub
public void addImage()
{
// Be sure that you use an appropriate escape sequence (such as the
// @) when specifying the location of the file.
System.Drawing.Image myImage =
Image.FromFile
(System.Environment.GetFolderPath
(System.Environment.SpecialFolder.Personal)
+ @"\Image.gif");
imageList1.Images.Add("myPhoto", myImage);
}
So entfernen Sie alle Bilder programmgesteuert
Verwenden Sie die Remove-Methode zum Entfernen eines einzelnen Bildes.
-oder-
Verwenden Sie die Clear-Methode, um alle Bilder in der Bildliste zu löschen.
' Removes the first image in the image list ImageList1.Images.Remove(myImage) ' Clears all images in the image list ImageList1.Images.Clear()
// Removes the first image in the image list.
imageList1.Images.Remove(myImage);
// Clears all images in the image list.
imageList1.Images.Clear();
So entfernen Sie Bilder anhand eines Schlüssels
Verwenden Sie die RemoveByKey-Methode, um ein einzelnes Bild anhand des Schlüssels zu entfernen.
' Removes the image named "myPhoto" from the list. ImageList1.Images.RemoveByKey("myPhoto")
// Removes the image named "myPhoto" from the list.
imageList1.Images.RemoveByKey("myPhoto");
Siehe auch
.NET Desktop feedback