Dans un projet Visual Basic, j'ai ajouté un fichier de ressources (resx) contenant un tas d'images.Comment obtenir les noms de toutes les ressources dans un fichier de ressources
Maintenant, je veux interroger les noms des images. Si j'ouvre le fichier resx dans la vue de concepteur dans l'IDE de Visual Studio et sélectionnez une image, la grille de propriétés me montre une propriété de nom (par défaut "nom de fichier sans extension mais peut être modifié)
J'ai une image créée à l'exécution et remplie avec les images du fichier de ressources.Pour pouvoir accéder à ces images avec la clé, je dois le définir
Mon code ressemble à ceci (tout codé en dur) :
Dim imagelist as new Imagelist
imageList.Images.Add("A", My.Resources.MyImages.A)
imageList.Images.Add("B", My.Resources.MyImages.B)
imageList.Images.Add("C", My.Resources.MyImages.C)
imageList.Images.Add("D", My.Resources.MyImages.D)
imageList.Images.Add("E", My.Resources.MyImages.E)
....
imageList.Images.Add("XYZ", My.Resources.MyImages.XYZ)
Et je veux ce achive:
Dim imagelist as new ImageList
For Each img in GetMeAllImagesWithNameFromMyResourceFile
imageList.Images.Add(img.Name, img.ImageFile)
Next
où Nom est une chaîne et un ImageFile System.Drawing.Bitmap
Fonctionne très bien, exactement ce que je voulais. Juste 2 petits changements: Premièrement: le second paramètre de GetResourceSet doit être vrai (pour obtenir une référence même si la ressource n'a pas encore été chargée). Deuxièmement: Icon.GetType() ne fonctionnera pas parce que vous ne l'avez pas instancié, il devrait être GetType (Icon) à la place. Peut-être pourriez-vous éditer votre message pour corriger cela. –
Si je me souviens bien, ce morceau de code fonctionne avec Icon.GetType(). Je vais le changer pour avoir GetType (Icon) selon votre suggestion. – shahkalpesh
Cela fonctionnera dans un formulaire Windows, car vous avez une propriété Form1.Icon qui renvoie l'icône réelle du formulaire. Mais GetType (Icon) est la solution propre. –