Entrez le symbole «&» dans une étiquette de texte dans Windows Forms?


103

Comment entrer des caractères spéciaux dans un Labelen C # (Windows Forms)?

Si vous essayez d'écrire un "&" dans une étiquette, vous obtiendrez une sorte de trait de soulignement à la place.

Alors, quel est l'équivalent C # de "&"? ("\ &" ne fonctionne évidemment pas).

Réponses:


202

Deux manières:

  • Échappez-le avec une autre esperluette ( &&).

  • Définissez UseMnemoniccette étiquette sur false. Cela fait que toutes les esperluettes du texte sont prises à la lettre, vous n'avez donc pas besoin de doubler l'une d'entre elles. Vous perdrez le soulignement et accéderez aux fonctionnalités clés.

    Vous pouvez définir la valeur dans le concepteur ou dans le code:

    myLabel.UseMnemonic = false;
    myLabel.Text = "Text&Text";

1
Je connaissais déjà (et utilisais) le &&modèle mais je n'avais UseMnemonicjamais vu auparavant. Donc +1 pour ce nouvel éclairant.
Oliver


1
Puisque ToolStripStatusLabeln'a pas cette propriété, si je veux l'utiliser sur un StatusStrip, suis-je obligé de l'échapper avec une autre esperluette?
AdamMc331

2
@ McAdam331: Je pense que oui.
BoltClock

1
@BoltClock merci. C'était assez facile à faire, je l'ai juste utilisé String.Replace("&", "&&")chaque fois que je définissais le texte, afin que je puisse échapper à l'esperluette sans muter mon objet lui-même et bousiller la façon dont il est affiché ailleurs.
AdamMc331



0

Je ne sais pas comment utiliser «&» dans le concepteur, mais dans le code, vous pouvez utiliser «&&» pour afficher un «&»


5
"&&" fonctionne très bien dans le concepteur. Saisissez-le simplement là où vous modifiez le texte.
Spectraljump

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.