C# 无法显示“&&&引用;在C中的按钮文本中#

C# 无法显示“&&&引用;在C中的按钮文本中#,c#,visual-studio,winforms,button,C#,Visual Studio,Winforms,Button,我想在Windows窗体应用程序中的按钮文本中显示&,但显示的按钮仅显示带有单个字符的文本& // this is how the button is declared and formatted Button si = new Button(); si.Width = 25; si.Height = 25; this.Controls.Add(si); si.bringToFront(); si.Text = "&&"; si.Font = new Font("Arial",

我想在Windows窗体应用程序中的按钮文本中显示
&
,但显示的按钮仅显示带有单个字符的文本
&

// this is how the button is declared and formatted
Button si = new Button();
si.Width = 25;
si.Height = 25;
this.Controls.Add(si);
si.bringToFront();
si.Text = "&&";
si.Font = new Font("Arial", 4, FontStyle.Regular) // as you can see, I made the font so small, in order to make sure the text fits the size of the button
si.Top = 10;
si.Left = 10;
当我制作一个MessageBox,告诉button.text中包含哪些文本时,它会显示
&&
(所需的结果)。但是,在Windows窗体上找到的按钮只包含一个字符:
&

我已经尝试过的一些方法如下所示:

// 1
si.Text = "&" + "&"; 

// 2
char c = (char)38;
si.Text = c.ToString() + c.ToString();

// 3
si.Text = "&" + (char)38;

我已经尝试过将按钮的大小变大,但仍然没有成功,字体不是问题所在,在这种情况下,可以肯定的是,文本适合按钮的大小。我认为值得一提的是,我曾尝试给按钮的文本设置值,如
&x
(si.text=“&x”)
,在按钮文本中找到的唯一字符是
x

,您可以通过将按钮的
UseMemonenic
属性设置为
false
来解决这个问题

useMemonic
属性获取或设置一个值,该值指示前跟一个与(
&
)的第一个字符是否用作控件的助记符键。因此,将其设置为
false
将允许您使用
&
字符,而无需转义紧跟其后的字符


。该键设置为文本中“&”后面的任何字符(用户可以按Alt+键与控件交互)

发生的情况是,一个“&”转义另一个“&”,因此它不作为快捷键(助记符键)

如果不想禁用它们(例如,您仍然想设置快捷方式),可以通过将文本设置为“&&&&&”,使其显示两个“&”

见:


另请参见。我希望在您的回答中看到更多关于此属性含义的详细信息。我投了赞成票,但我不知道
usememonic
属性的用途。为什么它将
&
改为
&
@Enigmativity感谢投票否决了一个简单明了的答案,解决了OP的问题。@KobyDouek-我同意它很简单,但不清楚。我只是按照设计的方式使用投票系统。我觉得现在的答案不是一个好的答案。@Enigmativity我想是很公平的,虽然除了我刚刚从MSDN编辑的解释之外,没有太多要详细说明的。