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).

Spektralsprung
quelle

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";
BoltClock
quelle
1
Ich kannte (und benutzte) das &&Muster bereits, aber das habe UseMnemonicich noch nie gesehen. Also +1 für diese neue Erleuchtung.
Oliver
2
Dies ist die kanonische Antwort. Zu den Duplikaten dieser Frage gehören stackoverflow.com/questions/4324310 , stackoverflow.com/questions/7737532 , stackoverflow.com/questions/9100607 und stackoverflow.com/questions/4324310 .
Peter Mortensen
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
8

Sie können entkommen und durch zweimaliges Hinzufügen versuchen &&.

Øyvind Bråthen
quelle
0

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

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

Versuche dies:

((char)0x26).ToString()
Adel El Biari
quelle