[Débutant] RollOver Image / Resources [Résolu]

Signaler
Messages postés
20
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
26 juin 2006
-
Messages postés
20
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
26 juin 2006
-
Salut, je débute en C# et dans mon application je tente un rollover
tout simple qui m'amène à poser une question sur les resources/images
du projet.



En fait ma première solution c'est deux images, à la même position,
l'une visible l'autre non, avec gestion de l'évenement MouseEnter sur
l'une et MouseLeave sur l'autre pour alterner la visibilité. En
regardant le code généré et en cherchant un peu où/comment VS stocke
les resources, j'ai remarqué que les images sont stockés dans le
fichier rsx...



L'autre solution, c'est une seule image, que j'alterne sur les
évenements MouseEnter/MouseLeaver via un Image.fromFile("path").
Et là je me demande si a chaque rollover le fait de lire mon fichier
image est pas plus "couteux" que de l'avoir stocké dans les resources..



Donc voilà, j'aimerai juste savoir quelle est la bonne solution
(fromFile ou stocké dans le rsx). Plus généralement si vous avez un bon
lien sur comment ajouter une resource "a la main", je suis preneur



Merci

4 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
32
Salut, en ressource ou pas, pour de bonnes performances tu dois charger le fichier qu'une seule fois et garder la références de l'image dans une variable membre de la classe.

public class MainForm : Form
{
private Bitmap bmp;

public MainForm( ) : base( )
{
bmp = new Bitmap( "File.bmp" ); // Add try/catch
}
}
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
45
FromFile ou dans le resx, peu importe, je dirais que les 2 solutions sont aussi convenables l'une que l'autre.


La seule chose a laquelle tu dois faire attention, c'est de ne pas reistancier tes bitmaps a chaque MouseEnter / MouseLeave





Donc la bonne solution, consiste a instancier 2 objets bitmaps dans des
variables globales , avec tes 2 images, et de ne te servir que de ces 2
instances.





Pour creer tes resources a la main sans t'embeter avec les lignes de commande, jette un coup d'oeil au resourcer









Mx

Mx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
45
Voila ce que c'est de faire 5 choses a la fois...

Mx
Messages postés
20
Date d'inscription
samedi 25 novembre 2000
Statut
Membre
Dernière intervention
26 juin 2006

Merci a vous deux pour vos réponses rapides :)



Je bien compris l'interet de stocker mes images dans des variables membres et j'aurais du y penser avant de poster



fd.