MickeyMiner Geschrieben 23. Dezember 2008 Geschrieben 23. Dezember 2008 Hallo, wie kann ich die Tag Property eines Image-s innerhalb von ImageList setzen? Egal was ich versuche, ist dieser Tag immer auf Null gesetzt. Danke, mm private void imgTester() { ImageList myList = new ImageList(); Image myImg = Image.FromFile("D:\\User\\20081219170022876.jpg"); myImg.Tag = "Hello World"; Console.WriteLine("myImg.Tag = '{0}'", myImg.Tag); // returns myImg.Tag = 'Hello World' myList.Images.Add(myImg); Console.WriteLine("Tag = '{0}'", myList.Images[myList.Images.Count - 1].Tag); // returns Tag = '' myList.Images[myList.Images.Count - 1].Tag = "Did you hear me?"; Console.WriteLine("Tag = '{0}'", myList.Images[myList.Images.Count - 1].Tag); // returns Tag = '' myList.Images[myList.Images.Count - 1].Tag = myImg.Tag; Console.WriteLine("Tag = '{0}'", myList.Images[myList.Images.Count - 1].Tag); // returns Tag = '' } Zitieren
words_of_silence Geschrieben 5. Januar 2009 Geschrieben 5. Januar 2009 Hallo! Meines Achtens verlangt die Tag - Property ein Objekt, du weist der Eigenschaft jedoch ein String zu. Gruß, wos Zitieren
Guybrush Threepwood Geschrieben 5. Januar 2009 Geschrieben 5. Januar 2009 Ein String ist auch ein Object Zitieren
words_of_silence Geschrieben 6. Januar 2009 Geschrieben 6. Januar 2009 Mhhhm... Stimmt. *Kopf kratz* Zudem kann man in die Tag - Eigenschaft sowieso irgendwie alles reinkippen. Dann eine Idee, woran's liegt, dass er quasi beim Hinzufügen zur Liste sein Tag "vergisst"? @ MickeyMiner: Verbirgt sich denn hinter "myList.Images[myList.Images.Count - 1].Tag" wirklich dein myImg oder hat das eventuell einen anderen Index? Zitieren
TDM Geschrieben 6. Januar 2009 Geschrieben 6. Januar 2009 (bearbeitet) Hast du dir mal die Liste bzw. die Images im Debugger angeschaut? Oder probier einfach mal myList.Images[myList.Images.Count - 1] in einer temporären Variable zu buffern. Verbirgt sich denn hinter "myList.Images[myList.Images.Count - 1].Tag" wirklich dein myImg oder hat das eventuell einen anderen Index? Erm... Leere Liste erstellt.Objekt A hinzugefügt.Letztes Objekt aus der Liste holen (A).TagTag des letzten Objekts(A) aus der Liste ändern.Letztes Objekt aus der Liste holen (A).Tag Ergo: Natürlich. Bearbeitet 6. Januar 2009 von TDM Zitieren
words_of_silence Geschrieben 6. Januar 2009 Geschrieben 6. Januar 2009 Laut diesem Snippet schon. Aber vllt. gibt es ja noch mehr Code in dem Programm, wo mit der Liste gearbeitet wird? Gab schließlich schon einige Fälle, wo Code gepostet wurde und der Fehler eigentlich ganz woanders lag... :schlaf: Zitieren
words_of_silence Geschrieben 6. Januar 2009 Geschrieben 6. Januar 2009 Mhm... Habe es nun in sämtlichen Formen probiert - Objekte von eigenen Klassen reingekippt, Strings übergeben etc... Die Imagelist bzw. das Image - Objekt scheint beim Hinzufügen schlichtweg unter Alzheimer zu leiden. Bug? Zitieren
words_of_silence Geschrieben 6. Januar 2009 Geschrieben 6. Januar 2009 (bearbeitet) Sorry, nochmal ich, aber Editierzeit war schon wieder abgelaufen. Hier ein paar alternative Lösungsvorschläge: Entweder eigene Klasse bauen mit entsprechender Tag - Property bauen oder Liste von Images nehmen. Ist zwar alles nicht besonders schön - gerade in Hinblick auf das komfortable Binden von Imagelisten an Controls, aber schöner geht's anscheinend nicht, wenn man auf die Tags nicht verzichten möchte. List<Image> ListeImg = new List<Image>(); Image imgBla= Image.FromFile("C:\\Eigene Dateien\\max_muster.jpg"); imgBla.Tag = "Kekse"; ListeImg .Add(imgBla); (ungetestet) Viel Erfolg und schöne Grüße. Bearbeitet 6. Januar 2009 von words_of_silence Rechtschreibfehler korrigiert Zitieren
TDM Geschrieben 6. Januar 2009 Geschrieben 6. Januar 2009 hmm Hinweise Die zurückgegebene Bitmap ist eine Kopie des Originalbildes und sollte mithilfe der Image..::.Dispose-Methode zerstört werden. Also im Debugger konnt ich den Text nichtmal setzen - scheint so, also wäre das nur eine abgespeckte Liste, in der wirklich nur Bildinformationen stehen. Zitieren
Guybrush Threepwood Geschrieben 7. Januar 2009 Geschrieben 7. Januar 2009 hmm ja sieht so aus... @MickeyMiner Was hast du denn genau vor, da gibts bestimmt andere gute Möglichkeiten Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.