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

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";

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


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



0

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


5
„&&” działa dobrze w projektancie. Po prostu wprowadź go tam, gdzie zmieniasz tekst.
Spectraljump

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.