Couleur du textbox

JessicaR44 Messages postés 116 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 29 septembre 2013 - 16 août 2006 à 21:54
cs_Pedrosa Messages postés 42 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 2 juin 2008 - 26 août 2006 à 19:24
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

Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
16 août 2006 à 22:21
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.
0
sovos Messages postés 14 Date d'inscription lundi 31 janvier 2005 Statut Membre Dernière intervention 12 juin 2008
16 août 2006 à 22:22
Tout a fait tu peux biensur changer la couleur de ton textbox.

en faisant
text1.backcolor=vbwhite
0
JessicaR44 Messages postés 116 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 29 septembre 2013
16 août 2006 à 23:06
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é.
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
17 août 2006 à 10:30
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
17 août 2006 à 13:38
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.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
17 août 2006 à 13:39
....sans jamais avoir le focus
0
JessicaR44 Messages postés 116 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 29 septembre 2013
17 août 2006 à 15:13
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).
0
JessicaR44 Messages postés 116 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 29 septembre 2013
17 août 2006 à 15:14
Merci à tous !!!
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
17 août 2006 à 16:25
@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
0
JessicaR44 Messages postés 116 Date d'inscription mardi 8 août 2006 Statut Membre Dernière intervention 29 septembre 2013
17 août 2006 à 21:59
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
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
18 août 2006 à 00:15
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
0
cs_Pedrosa Messages postés 42 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 2 juin 2008
26 août 2006 à 19:24
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.
0
Rejoignez-nous