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 :

Changer la couleur de controles Enabled = false


Sujet :

C#

  1. #1
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut Changer la couleur de controles Enabled = false
    Bonjour,

    Je voudrai afficher sur une form des TextBox avec une certaine couleur de texte ou de fond si ils sont Disabled (MaTextBox.Enabled = false).

    Sur ma form ils sont grises meme si je change la couleur. Y a t il un moyen de changer cette couleur ?
    Contrec

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    ? Si tu vas dans les propriétés du textbox et que tu changes la couleur cela reste gris ?
    N'as tu pas locker tes textbox ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    méthode simple :
    hériter de textbox, overrider enabled, si true, handler keypress (qui annule frappe) + changer couleur fond + changer couleur texte (stocker les anciennes valeurs)

    méthode compliquée :
    hériter de textbox
    overrides onpaintbackground et changer le traitement de la propriété enabled
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut
    Tout reste gris, je peux le faire avec ReadOnly pour les TextBox mais j'ai aussi besoin de changer la couleur d'un ComboBox (car il n'existe pas de read only pour les ComboBox).

    Y a til moyen de bloquer le ComboBox en read only?
    Contrec

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    pour une combobox, le mode "read-only" correspond à DropDownList ... Dans
    ce mode, la combobox n'affiche que les elements disponibles et ne permet pas l'ajout d'élément... c'est donc un mode Read-only (mais sans le coté
    visuel du mode Read-only des autres controles qui ont cette propriété.

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  6. #6
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut
    Oui mais mon but est d'afficher qu'un seul element sans que l'utilistaeur puisse en changer (Si l'utilisateur a les droits de modif, il peut selectionner un element et le changer, sinon l'element selectionne ne peut pas etre change)...
    Contrec

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    la propriété locked existe pas ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut
    Euh non j'ai pas trouve ou alors je suis miro...
    Contrec

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    moi j'ai bien locked sur combobox sous VS2005
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut
    moi j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MonComboBox.Location;
    MonComboBox.LocationChanged;
    MonComboBox.LostFocus;
    mais pas de lock...
    Contrec

  11. #11
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    en effet le locked en question n'est dispo qu'en design et ne sert pas à ca de toute facon
    utilise enabled ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  12. #12
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut
    Le truc c'est qu'avec enabled, on ne voit quasiment pas le texte du ComboBox, mon but etait donc de pouvoir changer la couleur de fond ou du texte pour pouvoir avoir un truc plus lisible car meme si les infos de ma Form sont Disabled, elles doivent quand meme etre visibles sans plisser les yeux et se rapprocher de l'ecran...

    Pour TextBox et dataGridView, j'ai ReadOnly qui fonctionne tres bien, par contre pour ComboBox, je ne trouve pas....
    Contrec

  13. #13
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Citation Envoyé par Contrec Voir le message
    Le truc c'est qu'avec enabled, on ne voit quasiment pas le texte du ComboBox, mon but etait donc de pouvoir changer la couleur de fond ou du texte pour pouvoir avoir un truc plus lisible car meme si les infos de ma Form sont Disabled, elles doivent quand meme etre visibles sans plisser les yeux et se rapprocher de l'ecran...

    Pour TextBox et dataGridView, j'ai ReadOnly qui fonctionne tres bien, par contre pour ComboBox, je ne trouve pas....
    et bien rajoutez une propriété ReadOnly sur le combobox, un peu comme j'expliquait au début
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  14. #14
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut
    Je trouve cela un peu lourd de devoir redefinir tous ces events juste pour rendre un controle un peux plus visible a l'utilisateur. Je vais plutot afficher un label avec la velur du ComboBox si ce dernier est Disabled a la place et cacher le ComboBox. (ca me parait a little bit plus leger)...

    merci
    Contrec

  15. #15
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    hériter de combobox et rajouter une propriété pour ce que tu veux faire, tu dois en avoir pour 20/25 lignes, c'est pas énorme ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  16. #16
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut
    Finalement j'ai laisse MonComboBox.Enabled = false;

    Le texte se voit pas tres clair mais je prefere cela plutot que de surcharger des methodes et tout le bazar (certes pratique et pas tres lourd mais pour ce que je veux faire, cela parait inaproprie).

    Merci pour vos reponses.
    Contrec

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

Discussions similaires

  1. [AC-2007] Changer la couleur du control onglet formulaire
    Par mbo2 dans le forum IHM
    Réponses: 2
    Dernier message: 20/04/2013, 21h36
  2. Changer la couleur du control panel en C#
    Par Pedro Varela dans le forum Windows Forms
    Réponses: 6
    Dernier message: 01/08/2007, 11h55
  3. [VB.NET] Changer le style des controles en enabled = false
    Par Ark13 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 04/05/2007, 18h45
  4. Réponses: 11
    Dernier message: 14/01/2005, 17h29
  5. [VB.NET] ForeColor d'un control avec Enabled=False
    Par jennings dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/12/2004, 14h41

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