Ändern des Standardsymbols in einer Windows Forms-Anwendung

86

Ich muss das Symbol in der Anwendung ändern, an der ich arbeite. Wenn Sie jedoch einfach auf der Registerkarte Projekteigenschaften -> Anwendung -> Symbol nach anderen Symbolen suchen , werden die Symbole nicht auf dem Desktop gespeichert.

Was ist der richtige Weg?

Srivastava
quelle
Ändern Sie die Eigenschaft des Formulars oder der Anwendung?
Matt Ellen
Welche Symbole sind auf Ihrem Desktop gespeichert? Stellen Sie sicher, dass es im ico-Format ist.
Shoban
Wie konvertiere ich JPG in das ICO-Format?
Srivastava
Wenn Sie nach Symbolen suchen, die bereits das richtige Format für Ihre Anwendung haben, lesen
Cody Gray

Antworten:

87

Die Symbole, die Sie auf dem Desktop sehen, sind keine Symboldatei. Sie sind entweder ausführbare Dateien .exe oder Verknüpfungen einer Anwendung .lnk . Es können also nur Symbole mit der Erweiterung .ico festgelegt werden .

Gehen Sie zu Projektmenü -> Your_Project_Name Properties -> Application TAB -> Resources -> Icon

Suchen Sie nach Ihrem Symbol. Denken Sie daran, dass es die Erweiterung .ico haben muss

Sie können Ihr Symbol in Visual Studio erstellen

Gehen Sie zu Projektmenü -> Neues Element hinzufügen -> Symboldatei

Javed Akram
quelle
21

Das in der Taskleiste und im Fenstertitel angezeigte Symbol ist das des Hauptformulars. Durch Ändern des Symbols können Sie auch das in der Taskleiste angezeigte Symbol festlegen , wenn es bereits in Ihrer * .resx enthalten ist :

System.ComponentModel.ComponentResourceManager resources = 
    new System.ComponentModel.ComponentResourceManager(typeof(MyForm));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("statusnormal.Icon")));

oder indem Sie direkt aus Ihren Ressourcen lesen:

this.Icon = new Icon("Resources/statusnormal.ico");

Wenn Sie den Code von nicht sofort finden können Form, durchsuchen Sie Ihr gesamtes Projekt ( CTRL+SHIFT+F) nach dem angezeigten Fenstertitel (vorausgesetzt, der Text ist statisch).

Lorenz Lo Sauer
quelle
10

Sie können das App-Symbol unter den Projekteigenschaften ändern. Einzelne Formularsymbole unter Formulareigenschaften.

KristoferA
quelle
8

Fügen Sie Ihr Symbol als Ressource hinzu (Projekt> Eigenschaften Ihres Projektnamens> Ressourcen> Wählen Sie "Symbole aus Dropdown-Liste> Ressource hinzufügen" (oder wählen Sie "Vorhandene Datei aus Dropdown-Liste hinzufügen", wenn Sie bereits über die .ico-Datei verfügen).

Dann:

this.Icon = Properties.Resources.youriconname;

Csomotor
quelle
Dies ist die beste Antwort unter allen. Dies funktioniert sogar mit einer veröffentlichten einzelnen EXE-Datei
Jérôme MEVEL
Perfekt. In VB.Net habe ich Icon = My.Resources.youriconname
Richard Moore
5

Sobald das Symbol in einem von mir verwendeten Visual Studio im ICO-Format vorliegt

//This uses the file u give it to make an icon. 

Icon icon = Icon.ExtractAssociatedIcon(String);//pulls icon from .ico and makes it then icon object.

//Assign icon to the icon property of the form

this.Icon = icon;

also kurz gesagt

Icon icon = Icon.ExtractAssociatedIcon("FILE/Path");

this.Icon = icon; 

Funktioniert immer.

Josh
quelle
1
Works everytime.falsch, funktioniert nicht, wenn die Anwendung als einzelne exe-Datei veröffentlicht wird
Jérôme MEVEL
3

Klicken Sie im Lösungs-Explorer mit der rechten Maustaste auf den Projekttitel und wählen Sie im Kontextmenü die Option 'Eigenschaften', um das Formular 'Projekteigenschaft' zu öffnen. Auf der Registerkarte "Anwendung" befindet sich im Gruppenfeld "Ressourcen" ein Eingabefeld, in dem Sie die gewünschte Symboldatei für Ihre Anwendung auswählen können.

LEMUEL ADANE
quelle
Nur um das hinzuzufügen, müsste er zusätzlich das Symbol seiner Formen ändern
KansaiRobot
3

Ich habe die .ico-Datei zu meinem Projekt hinzugefügt und die Build-Aktion auf Embedded Resource gesetzt . Ich habe den Pfad zu dieser Datei in den Projekteinstellungen als Projektsymbol angegeben und dann den folgenden Code im Konstruktor des Formulars verwendet, um sie freizugeben. Auf diese Weise muss ich nirgendwo eine Ressourcendatei mit Kopien des Symbols verwalten. Alles was ich tun muss, um es zu aktualisieren, ist die Datei zu ersetzen.

var exe = System.Reflection.Assembly.GetExecutingAssembly();
var iconStream = exe.GetManifestResourceStream("Namespace.IconName.ico");
if (iconStream != null) Icon = new Icon(iconStream);
Dov
quelle
1

Ich fand, dass der einfachste Weg ist:

  1. Fügen Sie Ihrem WinForms-Projekt eine Symboldatei hinzu.
  2. Ändern Sie die Erstellungsaktion der Symboldateien in " Eingebettete Ressource"
  3. In der Hauptfunktion zum Laden von Formularen:

    Icon = LoadIcon ("<der Dateiname dieser Symboldatei>");

sk
quelle
0

Die einfachste Lösung finden Sie hier: Wenn Sie Visual Studio verwenden, Solution Explorerklicken Sie mit der rechten Maustaste auf Ihre Projektdatei. Wählen Sie Properties. Wählen Sie Icon and manifestdann Ihre .icoDatei durchsuchen .

Community Ans
quelle
0

Wählen Sie Ihre Projekteigenschaften auf der Registerkarte Projekt aus. Klicken Sie dann auf Anwendung-> Ressource-> Symbol und Manifest-> Ändern Sie das Standardsymbol

Dies funktioniert in Visual Studio 2019 sehr gut. Hinweis: Nur Dateien im .ico-Format können als Symbol hinzugefügt werden

Chandhu Kuttan
quelle