Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用&;时主菜单控件不显示下划线;然后按ALT键_C#_Winforms_C# 2.0 - Fatal编程技术网

C# 使用&;时主菜单控件不显示下划线;然后按ALT键

C# 使用&;时主菜单控件不显示下划线;然后按ALT键,c#,winforms,c#-2.0,C#,Winforms,C# 2.0,我正在WinForm中使用MainMenu控件(而不是MenuStrip)。在“设计”视图中,我可以在文本字段中输入一个&并显示下划线,但当程序运行时,我按ALT键,它不会显示 此外,由于某些原因,在顶层使用时,实际会将“&”字符(例如,&文件)绘制到显示器上 以前有人遇到过这个问题并解决了吗?我四处搜索,除了自己画外,并没有找到解决方案,但这似乎是一个应该解决的问题,因为它是控件的内置功能 谢谢是否将表单。主菜单设置为您的主菜单 对于子菜单项,还要检查相关的windows设置:在WinXp中,

我正在WinForm中使用MainMenu控件(而不是MenuStrip)。在“设计”视图中,我可以在文本字段中输入一个&并显示下划线,但当程序运行时,我按ALT键,它不会显示

此外,由于某些原因,在顶层使用时,实际会将“&”字符(例如,&文件)绘制到显示器上

以前有人遇到过这个问题并解决了吗?我四处搜索,除了自己画外,并没有找到解决方案,但这似乎是一个应该解决的问题,因为它是控件的内置功能


谢谢

是否将
表单。主菜单
设置为您的
主菜单


对于子菜单项,还要检查相关的windows设置:在WinXp中,它位于“XP上的显示属性/外观/效果”下,请确保菜单中的项具有相应的属性
ShowShortCutKeys=true。

你能发布一些相关的代码吗?显然下划线没有显示,因为&仍然可见。为什么是不可用的,这种行为是由Windows实现的,而不是由.NET代码实现的。不要写&&File。对我来说唯一有意义的解释是你的标题是&&File@Hans它只在菜单的顶层绘制。子菜单不显示&字符。我不是在写&&。。。问题是,当按下ALT键时,下划线不会出现,它应该会出现。按钮、标签等有一个UseMemonics属性,允许您控制“&”字符是转换为文字键还是快捷键。检查表单/main菜单/MenuItem是否存在此设置,并将其设置为true。那可能会解决你的问题。当按下ALT时,它不会出现。这些设置将使下划线始终可见。即使在设计视图中我添加了下划线并且在那里可见,下划线也不会出现。主菜单是旧控件还是什么?因为它没有出现在VS(仅MenuStrip)中的工具窗格下,这让我想到,如果它是XP之前的控件,可能无法使用此控件。不,如果我没有记错的话,.Net 1.x和2.x中支持MainMenu。现在建议使用
MenuStrip
,但使用
main menu
向后兼容仍然是100%的好方法。