2011-09-16 22 views
1

我想通過ErrorProvider設置一個包含&的錯誤消息。 第一次嘗試是這樣的:System.Windows.Forms.ErrorProvider - 顯示「&」字符

errorProvider.SetError(someControl, "You have not accepted the Terms & Conditions"); 

這不顯示符號字符。谷歌搜索建議如下:

errorProvider.SetError(someControl, "You have not accepted the Terms &&& Conditions"); 

它的工作原理(即顯示一個符號),但我想明白爲什麼工作。有任何想法嗎 ?

編輯:對於System.Windows.Forms.Label控件,有一個名爲UseMnemonic的屬性可以設置爲False。 ErrorProvider有這樣的東西嗎?

回答

3

「&」是一種特殊字符,用於強調以下字符。所以,如果你使用它:

myButton.Text = "&Close"; 

它會強調'C'字符,這也將成爲一個熱鍵。如果您不希望發生這種情況,請在文本中使用雙「&」符號,如「& &」。

+0

我嘗試了兩個&號,但沒有奏效。我無法弄清楚爲什麼需要三個。 –

+0

三個&符號實際上會強調&符號字符。嘗試將[UseMnemonic](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.label.usemnemonic.aspx)屬性設置爲false(如果控件支持它),則應使用單個&符號足夠了。 –

+0

兩個&符適用於Label.Text,但對於ErrorProvider,似乎需要三個(至少這就是我在.net 2.0中看到的)。此外,似乎沒有ErrorProvider的UseMnemonic屬性。 –