Ingrese el símbolo "&" en una etiqueta de texto en Windows Forms?

103

¿Cómo se introducirían caracteres especiales Labelen C # (Windows Forms)?

Si intenta escribir un "&" en una etiqueta, obtendrá una especie de guión bajo en su lugar.

Entonces, ¿cuál es el equivalente en C # de "&"? ("\ &" obviamente no funciona).

Salto espectral
fuente

Respuestas:

202

Dos caminos:

  • Escápelo con otro y comercial ( &&).

  • Establecer UseMnemonicpara esa etiqueta en false. Esto hace que todos los símbolos de unión dentro del texto se tomen literalmente, por lo que no necesita duplicar ninguno de ellos. Sin embargo, perderá el subrayado y accederá a las funciones clave.

    Puede establecer el valor en el diseñador o en el código:

    myLabel.UseMnemonic = false;
    myLabel.Text = "Text&Text";
BoltClock
fuente
1
Ya conocía (y usé) el &&patrón, pero UseMnemonicnunca lo vi antes. Entonces +1 para esta nueva iluminación.
Oliver
2
Esta es la respuesta canónica. Los duplicados de esta pregunta incluyen stackoverflow.com/questions/4324310 , stackoverflow.com/questions/7737532 , stackoverflow.com/questions/9100607 y stackoverflow.com/questions/4324310 .
Peter Mortensen
1
Como ToolStripStatusLabelno tiene esta propiedad, si quiero usar esto en un StatusStrip, ¿me veo obligado a escapar con otro ampersand?
AdamMc331
2
@ McAdam331: Eso creo.
BoltClock
1
@BoltClock gracias. Era bastante fácil de hacer, solo lo usaba String.Replace("&", "&&")cada vez que configuraba el texto, para poder escapar del signo comercial sin mutar mi objeto y arruinar la forma en que se muestra en otros lugares.
AdamMc331
8

Puede escapar y agregarlo dos veces, para intentarlo &&.

Øyvind Bråthen
fuente
0

No sé cómo usar '&' en el diseñador, pero en el código puede usar '&&' para mostrar un '&'

basti
fuente
5
"&&" funciona bien en el diseñador. Simplemente introdúzcalo donde cambie el texto.
Spectraljump
-4

Prueba esto:

((char)0x26).ToString()
Adel El Biari
fuente