2009-09-22 11 views
12

Sto lavorando ad un primo progetto C# in Visual Studio 2005 e mi chiedo se ci sia qualcosa di speciale che deve fare per cambiare l'icona dell'applicazione oltre a cambiare la risorsa corretta nelle proprietà del progetto.Visual Studio, cambia l'icona dell'app, come?

Sono in grado di visualizzare la nuova icona visualizzata in Esplora risorse, ma l'icona nell'applicazione, il vassoio e la barra delle attività rimane come l'icona precedente.

Mi chiedo se questo abbia qualcosa a che fare con Windows Vista, magari mettendo in cache l'icona delle applicazioni e da quel momento in poi non lo aggiorna veramente. Lo stesso accade in Explorer se hai attivato le miniature.

Se effettivamente memorizza nella cache l'icona, cosa posso fare per aggiornare/eliminare la cache, e anche su cosa si basa (GUID, forse? Non il nome del file seppure ho cambiato e ancora lo stesso).

Grazie

+0

Ho provato su un altro computer in cui l'app non funzionava mai prima e ha ancora lo stesso problema, quindi il caching è stato scartato. –

risposta

9

Hai provato impostando un Form.Icon (WinForms) o Window.Icon (WPF)?

+1

No, ma attualmente l'icona precedente viene visualizzata correttamente. Sto cercando di sostituire la vecchia icona con una nuova semplicemente modificandola all'interno di Visual Studio Icon Editor. Non cambia tutte le icone, ma solo quella associata all'applicazione. –

+4

Quando si assegna un'icona alla proprietà 'Form.Icon' in Visual Studio, l'IDE non fa riferimento al file che si sta aggiungendo ma copia il file nel file' .resx' associato al modulo. Per aggiornare l'icona devi assegnare nuovamente l'icona in modo che Visual Studio aggiorni la copia. – dtb

+0

Cheers dtb, sembra che sia dove stavo sbagliando. Ho individuato il file resx in questione e ho visto alcune immagini corrispondenti a ciascuna scheda nell'applicazione. Anche se quando provo a modificarli/reimportarli, ricevo un avvertimento. Ancora indagando Grazie. –

0

L'icona nel vassoio e la barra delle attività si basano sull'icona della forma o della finestra. L'icona dell'applicazione (quella che vedi in explorer) è impostata nelle proprietà.

+1

La parte che mi manca è quindi come viene visualizzata la vecchia icona ancora quando ho semplicemente modificato la vecchia icona e sovrascritta (creando la nuova icona). Confuso ... –

13

Probabilmente non ha nulla a che fare con Vista. Le seguenti foto mostrano un runnig di Windows Form Apploication su Vista. Potresti aver provato lo stesso modello ma usando .Net Framwork 2.0. Non sono sicuro, ma penso che .Net Framework 3.0 non fosse disponibile con VS 2005. È necessario impostare la proprietà Icon Form.

+0

Grazie asdi, questo è esattamente quello che ho finito per fare. Ho finalmente individuato l'icona all'interno delle proprietà del modulo attuale e non la soluzione. –

+0

quindi perché hai accettato un'altra risposta? Ho avuto lo stesso problema oggi e la risposta di Asad è la più utile. – shift66

1

Ulteriori icona dalle risorse. Inserire un'immagine appropriata nelle risorse e denominarla icona.

NotifyIcon tray = new NotifyIcon(); 
tray.Icon = Icon.FromHandle(WindowsApplication1.Properties.Resources.icon.GetHicon()); 
tray.Visible = true; 
+0

Anche in Visual Studio 2013, con la proprietà ICON impostata, l'app * still * non mostra l'icona nella barra delle applicazioni finché non si esegue questa operazione. – Redgum

1

Ho avuto lo stesso identico problema quando volevo creare un'icona per il mio programma WinForms. La seguente soluzione ha funzionato per me:

Iniziare a creare un'icona in i.e. Paint o Photoshop. Rendi le dimensioni preferibilmente a 256x256 e a 24 bit a colori. Se si utilizza il colore a 32 bit, non sarà possibile rendere trasparente lo sfondo. Salva la tua immagine come .png.

Utilizzando il browser Internet preferito e accedere alla pagina http://iconverticons.com/online/

Questa pagina converte il png in un file .ico. Poiché si dispone di un file di input 256x256, l'applicazione Web è in grado di creare un file .ico con dimensioni da 256, 128, 64, 32, 24 e 16 al quadrato.

Questa icona può essere aggiunta al progetto facendo clic con il pulsante destro del mouse sul nome del progetto in solution explorer -> Proprietà -> Applicazione. Sotto il campo Risorse, scegli Icon e manifest, quindi premi il pulsante tratteggiato a destra per la casella combinata di icone. Sfoglia il tuo file-icona e sceglilo.

Questo aggiungerà l'icona al tuo progetto come puoi vedere quando usi windows explorer. Nota che devi copiare il file .exe dalla tua directory bin in un'altra directory per vedere il cambio di icone. Questo perché le icone di anteprima non vengono aggiornate così facilmente.

Questo, tuttavia, non aggiunge l'icona alla barra delle applicazioni.Per farlo, vai alla finestra di progettazione del modulo, dove puoi modificare l'aspetto grafico del tuo programma. Vai alle proprietà e scegli "Form1" nella casella combinata. Lì troverai un'opzione chiamata Icona. Navigando questa proprietà nel tuo file .ico, puoi aggiungere il file dell'icona al tuo programma e apparirà anche sulla barra delle applicazioni.

Spero che questo funzioni per tutti voi che volete aggiungere un'icona al vostro progetto. Aggiungerò alcune immagini descrittive quando avrò abbastanza rep.points per consentire che: - |

0

Ho appena sofferto dello stesso problema, 8 anni su. Sembra che Windows (7) o Visual Studio (2017) stia memorizzando l'icona nella cache. L'unico modo che posso trovare per cancellare questa cache è con un ciclo di spegnimento.