Geben Sie das Symbol "&" in eine Textbezeichnung in Windows Forms ein.


103

Wie würde man Sonderzeichen in ein LabelC # (Windows Forms) eingeben ?

Wenn Sie versuchen, ein "&" in ein Etikett zu schreiben, erhalten Sie stattdessen eine Art Unterstrich.

Was ist das C # -Äquivalent von "&"? ("\ &" funktioniert offensichtlich nicht).

Antworten:


201

Zwei Wege:

  • Entkomme es mit einem anderen kaufmännischen Und ( &&).

  • Stellen Sie UseMnemonicfür dieses Etikett auf einfalse . Dies führt dazu, dass alle kaufmännischen Und-Zeichen im Text wörtlich genommen werden, sodass Sie keines von ihnen verdoppeln müssen. Sie verlieren jedoch die Unterstreichung und greifen auf wichtige Funktionen zu.

    Sie können den Wert entweder im Designer oder im Code festlegen:

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

1
Ich kannte (und benutzte) das &&Muster bereits, aber das habe UseMnemonicich noch nie gesehen. Also +1 für diese neue Erleuchtung.
Oliver


1
Da ToolStripStatusLabelich diese Eigenschaft nicht habe, bin ich gezwungen, sie mit einem anderen kaufmännischen Und zu maskieren, wenn ich sie auf einem StatusStrip verwenden möchte?
AdamMc331

2
@ McAdam331: Ich glaube schon.
BoltClock

1
@ BoltClock danke. Es war einfach genug, ich habe es nur verwendet, String.Replace("&", "&&")wenn ich den Text eingestellt habe, damit ich dem kaufmännischen Und entkommen konnte, ohne mein Objekt selbst zu mutieren und zu vermasseln, wie es an anderer Stelle angezeigt wird.
AdamMc331



0

Ich weiß nicht, wie man '&' im Designer verwendet, aber im Code können Sie '&&' verwenden, um ein '&' anzuzeigen.


5
"&&" funktioniert gut im Designer. Geben Sie es einfach dort ein, wo Sie den Text ändern.
Spectraljump

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.