Insira o símbolo “&” em um rótulo de texto no Windows Forms?


103

Como alguém inseriria caracteres especiais Labelem C # (Windows Forms)?

Se você tentar escrever um "&" em um rótulo, receberá uma espécie de sublinhado.

Então, qual é o equivalente em C # de "&"? ("\ &" obviamente não funciona).

Respostas:


202

Dois caminhos:

  • Faça o escape com outro E comercial ( &&).

  • Defina UseMnemonicpara esse rótulo como false. Isso faz com que todos os "e" comerciais dentro do texto sejam interpretados literalmente, de modo que você não precisa dobrar nenhum deles. Você perderá o sublinhado e os principais recursos de acesso.

    Você pode definir o valor no designer ou no código:

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

1
Eu já conhecia (e usava) o &&padrão, mas UseMnemonicnunca vi antes. Então, +1 para este novo esclarecimento.
Oliver


1
Como ToolStripStatusLabelnão tem essa propriedade, se eu quiser usar isso em um StatusStrip, sou forçado a escapar com outro e comercial?
AdamMc331

2
@ McAdam331: Eu acredito que sim.
BoltClock

1
@BoltClock obrigado. Foi fácil de fazer, eu apenas usei String.Replace("&", "&&")sempre que definir o texto, para que eu pudesse escapar do "e" comercial sem alterar o próprio objeto e bagunçar como ele é exibido em outro lugar.
AdamMc331



0

Não sei como usar '&' no designer, mas no código você pode usar '&&' para mostrar um '&'


5
"&&" funciona bem no designer. Basta inseri-lo onde você altera o Texto.
Spectraljump

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.