VB changer la couleur du texte
Résolu
arscy
-
arscy -
arscy -
Bonsoir,
Dans un projet "windows form" sur Visual Basic, j'ai créé une icône.
Dans cette icône j'ai inséré un Label (MonLabel), lequel contient des entiers (Integer) que je souhaite faire disparaître à un temps donné. Or comme j'imbrique cet entier dans un algorithme conditionnel je me vois mal essayer de lui assigner un autre type _String à un quelconque moment _ pour obtenir un
Je pensais changer la couleur du texte pour le confondre avec celui de l'icône. La couleur correspondante est "Menu" (dans la colonne Système).
Bien évidemment,
ne correspond à rien.
Auriez-vous une astuce pour que je puisse exprimer cette idée de façon cohérente et compréhensible par VB, et appliquer cette idée à mon code?
Merci d'avance
Dans un projet "windows form" sur Visual Basic, j'ai créé une icône.
Dans cette icône j'ai inséré un Label (MonLabel), lequel contient des entiers (Integer) que je souhaite faire disparaître à un temps donné. Or comme j'imbrique cet entier dans un algorithme conditionnel je me vois mal essayer de lui assigner un autre type _String à un quelconque moment _ pour obtenir un
MonLabel.Text = ""
Je pensais changer la couleur du texte pour le confondre avec celui de l'icône. La couleur correspondante est "Menu" (dans la colonne Système).
Bien évidemment,
MonLabel.ForeColor = Color.Menu
ne correspond à rien.
Auriez-vous une astuce pour que je puisse exprimer cette idée de façon cohérente et compréhensible par VB, et appliquer cette idée à mon code?
Merci d'avance
A voir également:
- VB changer la couleur du texte
- Changer dns - Guide
- Excel cellule couleur si condition texte - Guide
- Changer la couleur de la barre des taches - Guide
- Changer carte graphique - Guide
- Changer extension fichier - Guide
1 réponse
Bonjour,
Je te rassure .... label.Text retourne TOUJOURS une string
https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.label.text?view=netcore-3.1
Donc, en le mettant à "" (vide), tu ne changes pas son "type".
Et si le fait d'avoir la valeur vide dans le reste de ton code... il faut simplement que tu vérifies avant si il contient quelque chose ou non.
Je te rassure .... label.Text retourne TOUJOURS une string
https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.label.text?view=netcore-3.1
Donc, en le mettant à "" (vide), tu ne changes pas son "type".
Et si le fait d'avoir la valeur vide dans le reste de ton code... il faut simplement que tu vérifies avant si il contient quelque chose ou non.
Ce label exprime un entier, auquel est associé à une incrémentation sur un bouton
(à chaque clic, la valeur de ce label change),
Je ne souhaite pas verrouiller le bouton.
Si j'assigne "" à mon label, au prochain clic c'est le crash assuré
C'est, je pense, la chose à faire.
Pour stocker la variable, tu peux utiliser un champ caché, ou my.settings ou simplement une variable public
J'ai assigné ma variable en dehors code du programme, directement dans le Label (propriétés>Text). C'est mon point de départ en fait (c'est une boucle "For" qui incrémente au clic, si on veut).
J'en déduis que le plan du changement de couleur n'est pas réalisable et qu'à part revoir la méthodo de l'algorithme en entier il va falloir repenser cette partie...
Je reviens sur mes derniers propos:
"J'en déduis que le plan du changement de couleur n'est pas réalisable"
mais pas du tout mon cher Watson!
En survolant le net j'ai trouvé comment afficher la couleur que je souhaitais :-)
Rappel: à la base je souhaitais faire disparaître mon texte en faisant correspondre sa couleur à celle de l'arrière-plan (c'est-à-dire couleur du texte = couleur de l'icône)
Cette couleur s'appelle Menu et se trouve dans MonLabel>Propriétés>Couleurs>Système>Menu.
Pour l'afficher:
Et HOP le tour est joué! Dans ma boucle conditionnelle, à partir d'un seuil spécifique, les écritures de MonLabel disparaissent (sémantiquement parlant elles sont camouflées).
:-)