2012-01-20 17 views
6

considerar:¿Por qué no se muestra en una etiqueta de Windows Forms?

Label label = new Label(); 

label.Text = "&"; 

... Pero no puedo ver el &, después de ejecutar el programa.

Code

¿Cómo demuestro que el carácter de una etiqueta?

Quiero mostrar solo el personaje. &

+1

¿No obtuvo el error de compilación por no cerrar la cita correctamente? –

+0

Ver la captura de pantalla, lo hicieron correctamente. – Joey

Respuesta

5

Utilice esta:

private void Form1_Load(object sender, EventArgs e) 
{ 
    label1.Text = "&&"; 
} 
4

& se utiliza como un recurso localizable en Windows Forms. Y también se usa para especificar accesos directos. Por lo que necesita para escapar de ella:

this.label1.Text = "&&"; 
+1

+1 para explicar el motivo * y * una solución. –

15

Eso es porque & en etiquetas, botones y menús se prefija para acceder a caracteres clave, es decir, aquellos caracteres que se pueden presionar con Alt para dirigir el foco a un control directo.

label1.UseMnemonic = false; 

se desharán de ese comportamiento.

De la documentación de UseMnemonic:

cierto si la etiqueta no muestra el carácter de signo y subraya el carácter después del signo en su texto, y trata el carácter subrayado como una tecla de acceso; de lo contrario, falso si el carácter ampersand se muestra en el texto del control. El valor predeterminado es true.

Si se necesita mostrar & y el comportamiento de las teclas de acceso, entonces usted necesita para escapar de la & como &&, como varias otras respuestas mencionan.

Cuestiones relacionadas