Entwickler-Ecke
WinForms - Icons im ListView
Phelios - Mo 02.12.13 08:46
Titel: Icons im ListView
Hallo Leute ...
Ich hab in meinem ListView ein Icon integriert und zwar so.
C#-Quelltext
1: 2:
| small.Images.Add(new Icon("Icon_01.ico")); large.Images.Add(new Icon("Icon_02.ico")); |
Das funktioniert auch ziemlich gut.
Nur wenn die Icons mal nicht da sind, gibt es ne Ausnahme, was mir gar nicht gefällt.
Ich weiss aber, dass es auch über die Resourcen geht, und zwar ungefähr so ...
C#-Quelltext
1: 2: 3: 4: 5:
| ImageList small = new ImageList(); ImageList large = new ImageList(); small = Properties.Resources.Icon_01.ico; large = Properties.Resources.Icon_02.ico; |
Das funktioniert nicht, obwohl IntelliSens mir die Icons anzeigt
Das ist wahrscheinlich nur eine Frage der Formulierung, und ich wäre dankbar, wenn mir jemand sagt, wie die richtige Syntax aussieht.
Danke im Voraus für Eure Hilfe
Moderiert von
Christian S.: Highlight- durch C#-Tags ersetzt
Moderiert von
Christian S.: Überflüssige Zeilenumbrüche entfernt
Th69 - Mo 02.12.13 13:50
Hallo Phelios,
Properties.Resources.Icon_01.ico ist doch ein einzelnes Icon und keine
ImageList.
Also genau so wie in deinem ersten Code-Beispiel:
C#-Quelltext
1: 2:
| small.Images.Add(Properties.Resources.Icon_01.ico); large.Images.Add(Properties.Resources.Icon_02.ico); |
Ralf Jansen - Mo 02.12.13 14:10
nur ohne .ico :wink:
Phelios - Mo 02.12.13 16:07
Hallo Ralf
Ralf Jansen hat folgendes geschrieben : |
nur ohne .ico :wink: |
Danke erst mal für Deine schnelle Antwort.
Deine Idee war ja nicht schlecht.
Ich habs aber trotzdem mal probiert, aber kompilieren war nicht möglich.
Hier die Fehlermeldung: :?
'System.Drawing.Icon' enthält keine Definition für 'ico', und es konnte keine Erweiterungsmethode
'ico' gefunden werden, die ein erstes Argument vom Typ 'System.Drawing.Icon'
akzeptiert (Fehlt eine Using-Direktive oder ein Assemblyverweis?).
Ich hab die Icons übrigens unter
Symbole importiert.
Das Problem ist wohl der Punkt "." weil der als Erweiterungsmethode
gesehen wird, wie z.B. der Punkt zwischen System und IO.
Ich weiß jedenfalls, dass das funktionieren muss, sonst hätte man sicher
nicht die Möglichkeit, Icons zu den Resourcen zu packen. Oder???
Ich hab mal in die Projektmappe in den Resourcen geguckt.
Da wird ein
Schraubenschlüssel angezeigt,
RECHTS daneben
Name des Icons,
ohne 'ico" und dann ein Doppelpunkt,
und dann das Wort
Icon.
Die sind also in den Resourcen drin.
Vielleicht hast Du ja noch ne Idee. :nixweiss:
Ich werde auch noch ein bisschen graben. :)
.
Th69 - Mo 02.12.13 16:15
Hallo Phelios,
hast du denn jetzt mal
C#-Quelltext
1: 2:
| small.Images.Add(Properties.Resources.Icon_01); large.Images.Add(Properties.Resources.Icon_02); |
ausprobiert?
Ralf Jansen - Mo 02.12.13 16:20
Schau dir doch einfach die generierte Klasse an wenn du dir beim Namen der erstellten Icons nicht sicher bist.
An der erstellten Resources.resx hängt einfach auch eine erstellte Resources.Designer.cs dran wo du die Properties für die Icons ansehen kannst.
Und falls du irgendwas Assemblyübergreifendes versuchst Resourcen sind erstmal internal.
Phelios - So 22.12.13 07:18
Ralf Jansen hat folgendes geschrieben: |
Und falls du irgendwas Assemblyübergreifendes versuchst Resourcen sind erstmal internal. |
Ich denke nicht, dass es Assembly-übergreifend ist, wenn man ein Icon darstellen will, und in den Resourcen steht auch nicht, wie so ein Icon dargestellt wird.
Auch ob sie jetzt Public, Private, oder weiß der Geier sind, sollte in diesem speziellen Fall auch keine Geige spielen.
Ich hab lange gebraucht, um die Lösung zu finden, denn die Icons(*.ico) können nicht so einfach in einer Image-List verarbeitet werden.
Die Lösung ist einfacher, als ich je gedacht habe.
C#-Quelltext
1:
| small.Images.Add(Properties.Resources.Icon03.ToBitmap()); |
Das war alles.
Die Bildchen sind in den Resourcen, und jetzt hab ich auch nicht mehr das Problem, dass eine Ausnahme geworfen wird, wenn die Icons fehlen.
Trotzdem Danke an alle, die Hilfestellung gegeben haben.
Moderiert von
Th69: B- durch C#-Tags ersetzt
Moderiert von
Th69: Beitragsformatierung überarbeitet.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!