Comment créer une ressource que je peux référencer et utiliser facilement dans diverses parties de mon programme?
Mon problème spécifique est que j'ai un NotifyIcon que je veux changer l'icône en fonction de l'état du programme. Un problème commun, mais avec lequel je me bats depuis longtemps.
Eh bien, après avoir cherché autour de StackOverflow (et adore, j'aime déjà cet endroit), la plupart des problèmes étaient déjà passés. J'ai cependant réussi à trouver une réponse à mon problème.
Comment créer une ressource:
Dans mon cas, je veux créer une icône. Il s'agit d'un processus similaire, quel que soit le type de données que vous souhaitez ajouter en tant que ressource.
Comment utiliser une ressource:
Génial, nous avons donc notre nouvelle ressource et nous avons hâte d’avoir ces jolies icônes qui changent ... Comment faisons-nous cela? Heureusement pour nous, C # rend cela extrêmement facile.
Il existe une classe statique appelée Properties.Resources
qui vous donne accès à toutes vos ressources. Mon code a donc été aussi simple que:
paused = !paused;
if (paused)
notifyIcon.Icon = Properties.Resources.RedIcon;
else
notifyIcon.Icon = Properties.Resources.GreenIcon;
Terminé! Fini! Tout est simple quand on sait comment, n'est-ce pas?
Ce qui précède ne fonctionnait pas pour moi comme je m'y attendais avec Visual Studio 2010. Il ne me permettait pas d'accéder à Properties.Resources, car il était inaccessible en raison de problèmes d'autorisation. J'ai finalement dû modifier les paramètres de persistance dans les propriétés de la ressource, puis j'ai trouvé comment y accéder via le fichier Resources.Designer.cs, où il y avait un getter automatique qui me permettait d'accéder à l'icône via MyNamespace.Properties.Resources. .NameFromAddingTheResource. Cela retourne un objet de type Icon, prêt à être utilisé.
La méthode ci-dessus fonctionne bien.
Une autre méthode (je suppose Web ici) consiste à créer votre page. Ajouter des contrôles à la page. Ensuite, en mode conception, accédez à: Outils> Générer une ressource locale. Un fichier de ressources apparaîtra automatiquement dans la solution avec tous les contrôles de la page mappée dans le fichier de ressources.
Pour créer des ressources pour d'autres langues, ajoutez la langue à 4 caractères à la fin du nom du fichier, avant l'extension (Account.aspx.en-US.resx, Account.aspx.es-ES.resx ... etc.).
Pour récupérer des entrées spécifiques dans le codebehind, appelez simplement cette méthode: GetLocalResourceObject ([clé d'entrée de ressource/nom]).