Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.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# 菜单会无缘无故滚动_C#_Winforms - Fatal编程技术网

C# 菜单会无缘无故滚动

C# 菜单会无缘无故滚动,c#,winforms,C#,Winforms,我的菜单如下: 但当我按向上键选择“退出”时,它会将所有内容滚动到视图之外,如下所示: 其他菜单不这样做-即使在同一条。这似乎是因为我有一些项目的Visible=false和不在菜单的底部(我有一个打印菜单项并不总是可见) 显而易见的解决办法是:用灰色来代替;实际上,当我需要它的时候,删除它,然后再添加回来 问题是:我能在不进行黑客攻击的情况下正确修复它吗 我认为这是由于一个已知的错误,请参阅Microsoft Connect问题 建议的解决方法是添加一个ToolStripSeparator

我的菜单如下:

但当我按向上键选择“退出”时,它会将所有内容滚动到视图之外,如下所示:

其他菜单不这样做-即使在同一条。这似乎是因为我有一些项目的
Visible=false
不在菜单的底部(我有一个打印菜单项并不总是可见)

显而易见的解决办法是:用灰色来代替;实际上,当我需要它的时候,删除它,然后再添加回来


问题是:我能在不进行黑客攻击的情况下正确修复它吗

我认为这是由于一个已知的错误,请参阅Microsoft Connect问题


建议的解决方法是添加一个
ToolStripSeparator
作为菜单中的最后一项。这显然解决了问题。

从用户体验的角度来看,灰显项目可能更可取。它告诉用户“打印是可能的,只是不在当前状态”。它还保留了菜单的“形状”,因此在查找其他条目时,用户的眼睛将始终落在预期的位置。我同意,我或许应该使用一个更好的例子。不过,我还有其他菜单项,它们确实需要这个。也许我会把它们移到底部,希望能解决这个问题。谢谢,但碰巧我也禁用了它们。。。(即)没有影响:(@noelicus:见上面更新的答案,我认为这可能是你的问题。