2012-01-20 15 views
6

Rozważmy:Dlaczego nie pojawia się na etykiecie Windows Forms?

Label label = new Label(); 

label.Text = "&"; 

... Ale ja nie widzę &, po tym, jak uruchomić program.

Code

Jak mogę wyświetlić ten znak na etykiecie?

Chcę pokazać tylko postać. &

+1

Nie dostałeś błędu kompilacji, ponieważ nie zamykasz prawidłowo oferty? –

+0

Zobacz zrzut ekranu, zrobili to poprawnie. – Joey

Odpowiedz

5

Użyj tego:

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

& służy jako Lokalizowane zasobu w Windows Forms. Służy również do określania skrótów. Więc trzeba uciec:

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

+1 za wyjaśnienie przyczyny * i * rozwiązania. –

15

To dlatego & w etykiet, przycisków i menu jest poprzedzona dostęp do kluczowych postaci, to znaczy te znaki można prasowej z Alt dać ostrość do sterowania bezpośrednio.

label1.UseMnemonic = false; 

pozbędzie się tego zachowania.

Z dokumentacji UseMnemonic:

prawda jeśli etykieta nie wyświetla znak ampersand i podkreśla charakter po ampersand w jej wyświetlanego tekstu i traktuje podkreślony znak jako klucz dostępu; w przeciwnym razie, false, jeśli znak ampersand zostanie wyświetlony w tekście kontrolki. Wartość domyślna to true.

Jeśli trzeba wyświetlić &i zachowanie klucz dostępu, a następnie trzeba uciec & jak &&, jak kilka innych odpowiedzi wymienione.

Powiązane problemy