在导航Winforms应用程序的主工具栏时,我开始注意到奇怪的行为,我不知道如何修复它。当我最初打开文件菜单的下拉列表时,它看起来像这样:
我开始用箭头键向下滚动每个项目,一切都很好,直到我到达“退出”。一旦我从“注销”中点击向下箭头键,或者如果我从“打开”按下向上箭头键,菜单就会自行重新排列,如下所示:
我对这种行为感到困惑。菜单仍然有效,从这一点来说,如果我开始向上滚动,我可以让安排恢复正常:
一些观察结果:
任何人都可以帮我理解发生了什么,以及如何解决它?
答案 0 :(得分:2)
我找到了这个问题的根源。微软显然不打算修复known bug。当您尝试在运行时切换菜单项的可见性/可用性时,会发生此问题。微软提醒我们“这个问题纯粹是视觉问题,没有功能损失。”
他们建议的解决方法是添加/删除菜单项,而不是显示/隐藏它们。
论坛上建议使用另一个workaround:从ToolStripDropDownMenu派生,关闭AutoSize,自己处理它,并添加1个额外的高度像素。
我找到了解决此问题的blog post,但作者从未尝试过发布他的解决方案。然而,他对Visible vs Available提出了一个有用的观点。