2012-01-20 2 views
6

Рассмотрим:Почему не отображается и не отображается в ярлыке Windows Forms?

Label label = new Label(); 

label.Text = "&"; 

Но ... Я не могу видеть &, после того, как я запустить программу.

Code

Как показать, что символ в этикетке?

Я хочу показать только персонажа. &

+1

Вы не получили ошибку компиляции, чтобы не закрывать котировку правильно? –

+0

Смотрите скриншот, они сделали это правильно. – Joey

ответ

5

Используйте это:

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

& используется в качестве Localizable ресурса в Windows Forms. И он также используется для указания ярлыков. Так что вам нужно, чтобы избежать его:

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

+1 для объяснения причины * и * решения. –

15

Это потому, что & в этикетки, кнопок и меню предваряется для доступа ключевых персонажей, то есть те символы, которые вы можете нажать с Alt дать фокус на элемент управления непосредственно.

label1.UseMnemonic = false; 

избавится от этого поведения.

Из документации UseMnemonic:

правда, если метка не отображается символ амперсанда и подчеркивает характер после того, как амперсанд в его выводимого текста и обрабатывает подчеркнутый символ в качестве ключа доступа; в противном случае false, если символ амперсанда отображается в тексте элемента управления. По умолчанию true.

Если вам нужно отобразить &и ключ поведения доступа, то вам нужно бежать & в &&, как было упомянуто несколько других ответов.

Смежные вопросы