Manchmal möchte man einfach ein Icon während der Laufzeit, z.B. in einem Statuszeilen-Panel, austauschen, um ein Statuszeilentext mit einem bestimmten Icon zu versehen. Nichts ist (fast) leichter als das. Liegt das Icon im Applikationsverzeichnis, so genügen schon die Zeilen: Dim MyNewIcon as Icon("IconName.ico") StatusBarPanel1.Icon = MyNewIcon Da uns dies aber so nicht gefällt, wollen wir die gewünschten Icons als Ressource in das eigentliche Programm einbinden. Dies hat den Vorteil, dass die Icons nicht aus Versehen gelöscht werden können und auch beim Erstellen des Setup nicht mehr berücksichtigt werden müssen. Zuerst ziehen wir das gewünschte Icon per Drag & Drop direkt in das Projekt (Projektmappen-Explorer). Nach Auswahl des Icons wird durch das Ändern der BuildAction-Eigenschaft auf "Eingebettete Ressource" das Icon als eingelagerte Ressource in die .EXE-Datei eingelagert. Jetzt können wir auf das Icon während der Laufzeit mit dem folgenden Code zugreifen: Dim MyNewIcon As New Icon(System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(" _ MyRessource.IconName.ico")) StatusBarPanel1.Text = "Jetzt wird ausgetauscht..." StatusBarPanel1.Icon = MyNewIcon Bitte beachten: Statt MyRessource muss der Name des Projekts verwendet werden. Dieser Tipp wurde bereits 17.536 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats September 2024 Dieter Otter Übergabeparameter: String oder Array? Mit der IsArray-Funktion lässt sich prüfen, ob es sich bei einem Übergabeparameter an eine Prozedur um ein Array oder einer "einfachen" Variable handelt. Neu! sevEingabe 3.0 Einfach stark! Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |