Como alguém inseriria caracteres especiais Label
em 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).
Como alguém inseriria caracteres especiais Label
em 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:
Dois caminhos:
Faça o escape com outro E comercial ( &&
).
Defina UseMnemonic
para 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";
ToolStripStatusLabel
não tem essa propriedade, se eu quiser usar isso em um StatusStrip, sou forçado a escapar com outro e comercial?
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.
Adicione outro E comercial na frente dele, para: &&
Ou dê uma olhada no seguinte: Label.UseMnemonic (documentação do MSDN)
Você pode escapar e adicioná-lo duas vezes, para tentar &&
.
Não sei como usar '&' no designer, mas no código você pode usar '&&' para mostrar um '&'
Experimente isto:
((char)0x26).ToString()
&&
padrão, masUseMnemonic
nunca vi antes. Então, +1 para este novo esclarecimento.