Wprowadź symbol „&” do etykiety tekstowej w Windows Forms?

103

Jak można wprowadzić znaki specjalne do a Labelw C # (Windows Forms)?

Jeśli spróbujesz wpisać „&” na etykiecie, zamiast tego zostanie wyświetlony rodzaj podkreślenia.

Więc jaki jest odpowiednik „&” w C #? („\ &” oczywiście nie działa).

Spectraljump
źródło

Odpowiedzi:

202

Dwie drogi:

  • Wyjdź z niego za pomocą innego znaku & ( &&).

  • Ustaw UseMnemonicdla tej etykiety na false. Powoduje to, że wszystkie znaki ampersand w tekście są traktowane dosłownie, więc nie trzeba ich podwajać. Stracisz jednak podkreślenie i uzyskasz dostęp do kluczowych funkcji.

    Możesz ustawić wartość w projektancie lub w kodzie:

    myLabel.UseMnemonic = false;
    myLabel.Text = "Text&Text";
BoltClock
źródło
1
Znałem już (i użyłem) &&wzoru, ale UseMnemonicnigdy wcześniej nie widziałem. Więc +1 za to nowe oświecenie.
Oliver
2
To jest kanoniczna odpowiedź. Duplikaty tego pytania obejmują stackoverflow.com/questions/4324310 , stackoverflow.com/questions/7737532 , stackoverflow.com/questions/9100607 i stackoverflow.com/questions/4324310 .
Peter Mortensen
1
Ponieważ ToolStripStatusLabelnie ma tej właściwości, jeśli chcę jej użyć w StatusStrip, czy jestem zmuszony do ucieczki z innego znaku &?
AdamMc331
2
@ McAdam331: Myślę, że tak.
BoltClock
1
@BoltClock dzięki. Było to dość łatwe do zrobienia, użyłem po prostu String.Replace("&", "&&")za każdym razem, gdy ustawiam tekst, więc mogłem uciec przed ampersandem bez mutowania samego obiektu i zepsuć sposób wyświetlania w innym miejscu.
AdamMc331
8

Możesz uciec & dodając go dwa razy, aby spróbować &&.

Øyvind Bråthen
źródło
0

Nie wiem, jak użyć znaku „&” w projektancie, ale w kodzie możesz użyć znaku „&&” do wyświetlenia jednego znaku „&”

basti
źródło
5
„&&” działa dobrze w projektancie. Po prostu wprowadź go tam, gdzie zmieniasz tekst.
Spectraljump
-4

Spróbuj tego:

((char)0x26).ToString()
Adel El Biari
źródło