IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Choisir couleur dans ColorDialog


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Par défaut Choisir couleur dans ColorDialog
    Bonjour,

    J'ai un problème dans mon petit logiciel pour récupérer la couleur choisie dans une ColorDialog et appliquer cette couleur à mon ellipse.

    J'ai une erreur sur le DialogResult.OK.

    Pouvez-vous m'aider svp ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private void MenuPaletteCouleur_Click(object sender, RoutedEventArgs e)
            {   
                BrushConverter conv = new BrushConverter();
                ColorDialog MyDialog = new ColorDialog();
                SolidColorBrush couleurPalette = conv.ConvertFrom(MyDialog.Color) as SolidColorBrush;
                MyDialog.AllowFullOpen = false;
                if (MyDialog.ShowDialog() == DialogResult.OK)
                    ellipse1.Fill = couleurPalette;
            }

  2. #2
    SLE
    SLE est déconnecté
    Membre émérite Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Par défaut
    Bonjour,

    Avant d'affecter la couleurPalette, il faut d'abord appeler le ShowDialog() et ensuite si le resultat est OK, récupérer la couleur choisie.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Par défaut
    Merci pour ta réponse, mais je ne vois pas ce que tu veut dire.

    Peux-tu me mettre le code?

  4. #4
    SLE
    SLE est déconnecté
    Membre émérite Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Par défaut
    Je veux simplement dire que déjà, la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SolidColorBrush couleurPalette = conv.ConvertFrom(MyDialog.Color) as SolidColorBrush;
    devrait se trouver à l'intérieur du if().

    Sinon, quel est le message d'erreur que vous obtenez avec votre code ?

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Par défaut
    Voilà, j'ai intégré la ligne dans le if.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private void MenuPaletteCouleur_Click(object sender, RoutedEventArgs e)
            {   
                BrushConverter conv = new BrushConverter();
                ColorDialog MyDialog = new ColorDialog();
                MyDialog.AllowFullOpen = false;
                if (MyDialog.ShowDialog() == DialogResult.OK)
                {
                    SolidColorBrush couleurPalette = conv.ConvertFrom(MyDialog.Color) as SolidColorBrush;
                    ellipse1.Fill = couleurPalette;
                }
            }
    Voici le message d'erreur que j'ai :


    Erreur*2*'System.Nullable<bool>'*ne*contient*pas*une*définition*pour*'OK'*et*aucune*méthode*d'extension*'OK'*acceptant*un*premier*argument*de*type*'System.Nullable<bool>'*n'a*été*trouvée*(une*directive*using*ou*une*référence*d'assembly*est-elle*manquante*?)

  6. #6
    SLE
    SLE est déconnecté
    Membre émérite Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Par défaut
    OK vous êtes en WPF, j'avais pas fait attention.
    Le ShowDialog en WPF renvoit un bool? et non un DialogResult, comme c'est le cas en WinForm.

    Vous devez test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(MyDialog.DialogResult() == true) {...}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. Sauvegarder une couleur dans un champ Alphanum
    Par Harry dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/07/2004, 11h21
  3. [C#] Comment mettre une ligne en couleur dans mon DataGrid ?
    Par vandeyy dans le forum Windows Forms
    Réponses: 7
    Dernier message: 19/07/2004, 10h03
  4. Modifier la taille, la couleur ... dans un label
    Par Guigui_ dans le forum GTK+ avec Python
    Réponses: 3
    Dernier message: 15/07/2004, 17h09
  5. Ecrire du texte en couleurs dans un composant
    Par wutang dans le forum Composants
    Réponses: 11
    Dernier message: 12/07/2004, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo