Immettere il simbolo "&" in un'etichetta di testo in Windows Forms?


103

Come si inseriscono caratteri speciali in un Labelin C # (Windows Form)?

Se provi a scrivere una "&" in un'etichetta, otterrai invece una sorta di trattino basso ..

Allora qual è l'equivalente C # di "&"? ("\ &" ovviamente non funziona).

Risposte:


202

Due strade:

  • Scappa con un'altra e commerciale ( &&).

  • Imposta UseMnemonicper quell'etichetta su false. Ciò fa sì che tutte le e commerciali all'interno del testo vengano prese alla lettera, quindi non è necessario raddoppiarne nessuna. Tuttavia, perderai la sottolineatura e accederai alle funzionalità chiave.

    Puoi impostare il valore nel designer o nel codice:

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

1
Conoscevo già (e usavo) lo &&schema ma non l' UseMnemonicavevo mai visto prima. Quindi +1 per questa nuova illuminazione.
Oliver


1
Dal momento ToolStripStatusLabelche non ha questa proprietà, se voglio usarlo su StatusStrip sono costretto a scappare con un'altra e commerciale?
AdamMc331

2
@ McAdam331: Credo di sì.
BoltClock

1
@BoltClock grazie. È stato abbastanza facile da fare, l'ho usato String.Replace("&", "&&")ogni volta che ho impostato il testo, in modo da poter sfuggire alla e commerciale senza modificare il mio oggetto stesso e rovinare il modo in cui viene visualizzato altrove.
AdamMc331



0

Non so come usare "&" nel designer, ma nel codice puoi usare "&&" per mostrare un "&"


5
"&&" funziona bene nel designer. Inseriscilo nel punto in cui cambi il testo.
Spectraljump

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.