Couleur du textbox

Signaler
Messages postés
116
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
29 septembre 2013
-
Messages postés
42
Date d'inscription
lundi 3 juillet 2006
Statut
Membre
Dernière intervention
2 juin 2008
-
Bonsoir
Si un controle "TextBox" a sa propiété "enabled" à False, le texte apparait grisé.
est-il possible de modifier cette couleur (et lui donner par exemple la même couleur que s'il était actif ?


Merci de vos réponses.

12 réponses

Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Salut
Je ne crois pas ou alors il faut passer par du subclassing que je ne sais pas trop manipuler pour des textboxes (des exemples sur le site je crois).
Sinon avec Text1.Locked = True, ça empêche des saisies (mais pas des sélections et copier/coller) et ça conserve les colors.
Messages postés
14
Date d'inscription
lundi 31 janvier 2005
Statut
Membre
Dernière intervention
12 juin 2008

Tout a fait tu peux biensur changer la couleur de ton textbox.

en faisant
text1.backcolor=vbwhite
Messages postés
116
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
29 septembre 2013

Re Bonsoir Dolphin Boy,

Cette question est un rapport avec celle que je viens de poser sur les focus. Dommage, c'eût été la solution, mais je n'aime pas cette couleur grise.
Et avec la propriété "locked", il reçoit encore le focus, donc validate se produire aussi !
Quand au subclassing, c'est peut-etre un peu trop compliqué pour moi: je ne suis que débutant.

@ Sovos: c'est le texte qui est grisé, il ne s'agit donc pas de backcolor, mais de forecolor. Et en changeant forecolor, le texte reste gris!

Merci d'avoir essayé.
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
Si tu mets à Lock = true et que tu insères une condition à ton code dans le validate ?

Un truc du style :
If TextBox.Lock = false then
    'Ton code
End if

Comme si, tout ce qui est dans l'évènement validate ne s'effectuera que si ton textbox n'est pas "Lock" ?

Et si tu ne veux pas le focus, pense aussi à supprimer la condition TabStop, un truc comme ça pour qu'on ne passe pas dessus en faisant défiler la tabulation. Toujours ça de pris (reste à gérer le clic mais bon ^^).

Molenn
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonjour,
Si tu ne saisi pas dans ton TextBox, remplace le par un Label .
Mets sa propriété BorderStyle à 1 et Apparence à 3D. Comme ça il
ressemblera à un TextBox sans jamais le focus.
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
....sans jamais avoir le focus
Messages postés
116
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
29 septembre 2013

Bonjour à tous
Merci de participer à cet échange, mais au plus vous me proposez des trucs, au plus je me rends compte que le noeud de mon problème est autre part: Je suis certaine que toutes mes procédures sont correctes.
Je crois que la vraie question est Pourquoi la procédure "validate" du textbox est-elle activée, alors que la propriété "CausesValidation" du bouton "Annuler" est false ??
(désolée, j'aurais dû réfléchir un peu plus avant de poster; dois-je reposter ?)
Je croyais que CausesValidation à False pour un bouton permettait de ne pas effectuer le test de validation sur le textbox qui était actif avant l'appui de ce bouton !
Si j'exécute mon bout de code en mode "debug pas à pas détaillé", les procédures activées sont text3.lostfocus, puis cmdCancel.click, ce qui me semble correct. Par contre en mode normal, la procédure "Validate" est également appelée. Pourquoi ?
Le fait que le contenu des textbox vienne d'une BDD change-t-il qqch ?

@Molenn: la propriété "locked" n'empêche pas de la textbox de recevoir le focus, donc le "validate" est également appelé( = > cercle vicieux). Ce qui fonctionne, c'est disable.
@Chaibat05 : j'autorise la saisie de la textbox si l'utilisateur clique "Modifier"
@Chaibat05: ta réponseà mon post Problème de focus (tu y proposes une solution avec les TabIndex) ne fonctionne pas non plus: il faut d'abord que le textbox recoive le focus pour lui envoyer SendKeys "{tab}".(donc validate, puis lostfocus: => cercle vicieux).
Messages postés
116
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
29 septembre 2013

Merci à tous !!!
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
@Jessica,
c' est pas que je m' entête mais voilà comment j' évite les cercles vicieux
qu' on rencontre plus souvent :

Dans mon formulaire je place une Booléenne que j' appelerai auto
Au début auto est à false

Dans
Sub MonControl_Validate()
 If Not auto Then
    ........
 End If
End Sub

Même chose pour Lost_Focus

Lorsque je ne veux pas que ces procédures s' executent je met
 auto=True
   ....Instructions comme
        SendKeys "{tab}" ou autre
 auto=False

Ainsi  Après SendKeys
>Sub MonControl_Validate()
>End Sub
>MonControl_Lost_Focus
>End Sub

Bon ! c' était juste une idée à propos des cercles vicieux

Amicalement

chaibat05
Messages postés
116
Date d'inscription
mardi 8 août 2006
Statut
Membre
Dernière intervention
29 septembre 2013

Bonsoir Chaibat05,
L'idée de cette varible auto me plait: je vais la creuser  .... mais dans 2 semaines, car maintenant: VACANCES !!
Merci pour tes idées.
Jessica
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Salut JessicaR44,


personnellement, pour éviter les problèmes avec Validate et GotFocus et
LostFocus, je ne les utilise tout simplement pas, ou le plus rarement
possible et je peux garder le sourire... ¦¬)


Je fais un peu comme Chaibat05 le dit, j'utilise des variables booléennes qui me servent selon les besoins.

Validate = jamais

GotFocus / LostFocus = à l'occasion mais avec réserve


Bonnes vacances à toi................(moi aussi, une petite semaine de break commençant demain soir...)

MPi
Messages postés
42
Date d'inscription
lundi 3 juillet 2006
Statut
Membre
Dernière intervention
2 juin 2008

Bonjour,
Je voudrais savoir s'il existe une propriété semblabe á lostfocus de vb6 en vb.net.
S'il y a, c'est laquelle? 
Merci de me répondre.