我有一个奇怪的问题。我有一个toolStripMenuItem,我希望首字母加下划线。这是在Windows窗体VS 2010中。 它在设计器中用等于“&展开”的文本定义并显示快捷键= true和快捷键= Alt + E。它在设计师的表格中以预期的形式出现,E标出。 我有一个点击事件,改变名称,然后做一些事情。如果再次单击它设置名称后面ToolStripMenuItem快捷键不要用鼠标点击线条
private void expandToolStripMenuItem_Click(object sender, EventArgs e)
{
if (expandToolStripMenuItem.Text == "&Expand")
{
expandToolStripMenuItem.Text = "Collaps&e";
expandToolStripMenuItem.ShortcutKeys = Keys.Alt | Keys.E;
// execute some other code
}
else
{
expandToolStripMenuItem.Text = "&Expand";
expandToolStripMenuItem.ShortcutKeys = Keys.Alt | Keys.E;
}
}
我还设置了&展开的形式显示和负载事件虽然这没什么区别。 现在当表格打开时,E不加下划线。如果我用鼠标单击它,它会显示“折叠”,但e不加下划线。我可以用鼠标来回移动,字母也不会加下划线。但是,如果我输入AltE,则从这一点起,这两封信中都会加下划线。即使用鼠标。 有什么建议吗? 谢谢
'expandToolStripMenuItem_Click'您是否使用设计器自动创建此事件..?或者你是否手动键入它..如果你手动输入它..我会检查设计器中的事件,以确保MenuStrip项目,并确保它被分配到适当的事件第一.. – MethodMan 2014-12-01 16:55:29
我想说这是预期的功能。在Visual Studio中,它的行为方式相同。打开记事本并单击“文件”菜单,注意没有任何快捷键字母带下划线。如果按Alt + F,则所有文件菜单项都会以其快捷键字母加下划线显示。 – Anthony 2014-12-01 17:14:23
还有一点需要注意的是,在[DropDownOpening](http://msdn.microsoft.com/en-us/library/system.windows.forms.toolstripdropdownitem.dropdownopening.aspx)事件中放置此功能可能更好,因此无论是通过单击还是通过通过快捷键选择的父菜单项打开下拉菜单,都会触发。 – Anthony 2014-12-01 17:16:42