Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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 = ''


}

  • 2 Wochen später...

Hallo!

Meines Achtens verlangt die Tag - Property ein Objekt, du weist der Eigenschaft jedoch ein String zu.

Gruß,

wos

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?

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).Tag
  • Tag des letzten Objekts(A) aus der Liste ändern.
  • Letztes Objekt aus der Liste holen (A).Tag

Ergo: Natürlich.

Bearbeitet von TDM

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:

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?

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 von words_of_silence
Rechtschreibfehler korrigiert

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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.