Mon objectif est d'afficher la même icône deux fois, mais chaque fois dans une taille différente. J'ai essayé ce qui suit:Afficher la même icône en 2 tailles différentes sur C#
FileStream fs = new FileStream("name_of_the_icon_file.ico", FileMode.Open);
Icon ico = new Icon(fs, 32, 32); //create an in-memory instance of the icon, size 32x32
Icon ico2 = new Icon(fs, 16, 16); //create an in-memory instance of the icon, size 16x16
...
Graphics.DrawIcon(ico, /*some point*/);
Graphics.DrawIcon(ico2, /*some other point*/);
La dernière ligne lève une ArgumentException: la valeur ne tombe pas dans la plage attendue. Quelqu'un peut-il m'expliquer ce qui ne va pas et quelle est la bonne façon de le faire?
Merci pour la réponse, j'ai essayé votre suggestion, mais le code est sur .Net 3.5 Compact Framework (pour Windows Mobile ...) et cette méthode de substitution de DrawIcon n'existe pas là. Il n'y a que DrawIcon (icône d'icône, int x, int y). Une autre chose est, quand je compile mon code sans la deuxième ligne (avec une taille d'icône 32x32), il dessine l'icône plus petite (16x16) ok (sans exception ...), donc je ne pense pas que l'icône ne contient pas d'image 16x16. Peut-être avez-vous une autre idée sous ces nouvelles hypothèses? Merci encore. –
Votre icône possède-t-elle * les deux formats * 16x16 et 32x32? –
Oui, je viens de le vérifier en utilisant l'éditeur d'image fourni dans Visual Studio. –