Changer l'image d'un bouton sur c#

matlive - 18 mai 2013 à 21:51
moi411
Messages postés
180
Date d'inscription
samedi 22 novembre 2003
Statut
Membre
Dernière intervention
25 juin 2017
- 19 mai 2013 à 14:37
Bonjour,

Petit problème tout simple s'il en est: j'ai un bouton dans lequel j'ai défini une image graphiquement depuis Visual Studio c# (ressource locale, importer, choix de l'image).

Après une action spécifique, j'aimerais modifier l'image du bouton avec une autre image

Comment puis-je faire cela?
et merci

2 réponses

moi411
Messages postés
180
Date d'inscription
samedi 22 novembre 2003
Statut
Membre
Dernière intervention
25 juin 2017
3
19 mai 2013 à 14:37
Salut,

Est-ce que j'ai bien compris?
Des "Resources" images qui doivent, via une certaine action, remplir le background d'un bouton...
Si c'est bien ça et si tu es en WPF, je te propose ceci:

this.monBouton.Background = new ImageBrush(new BitmapImage(new Uri("pack://application:,,,/monAssembly;component/monDossier/monImage.png")));

---> "monAssembly" est en fait le projet dans lequel le dossier de resources est placé.
---> "monDossier" contient tes images (en règle générale il s'appelle directement "Resources"!)
---> Les images doivent être elles-mêmes des resources; Dans visual studio, click droit sur chacune des images et puis sur propriétés.
De là, placé "Build Action" à "Resources".


moi
1
J UTILISE ça mais il y a des erreur
Uri resourceUri = new Uri("Images/ResourceImage.png", UriKind.Relative);
StreamResourceInfo streamInfo = Application.GetResourceStream(resourceUri);

BitmapFrame temp = BitmapFrame.Create(streamInfo.Stream);
var brush = new ImageBrush();
brush.ImageSource = temp;

button1.Background = brush;

Erreur 3 'System.Windows.Forms.Application' ne contient pas de définition pour 'GetResourceStream'
Erreur 4 'System.Windows.Forms.Button' ne contient pas une définition pour 'Background' et aucune méthode d'extension 'Background' acceptant un premier argument de type 'System.Windows.Forms.Button' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante ?)
0