Rubrik: Grafik und Font · Bilder und Icons | VB-Versionen: VB.NET | 12.01.06 |
Icon während der Laufzeit austauschen (VB.NET) Icon als Ressource einbetten und zur Laufzeit verwenden | ||
Autor: Ludwig Hein | Bewertung: | Views: 17.560 |
www.lupocom.de | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
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.
Images, Bitmaps etc. können auf die gleiche Weise eingebettet und abgerufen werden.