gpt4 book ai didi

c# - Winforms 中禁用的菜单项仍然显示子项

转载 作者:太空宇宙 更新时间:2023-11-03 15:35:28 24 4
gpt4 key购买 nike

如果我创建一个包含两个项目的菜单(比如“Item1”和“Item2”,然后在每个项目下创建两个子项目(1A、1B、2A 和 2B),然后禁用 Item1,我希望 1A 和1B 不会显示。

而且,事实上,如果我转到 Item1,他们就不会。除非我接着转到 Item2,等待 2A 和 2B 显示,然后再移回 Item1。此时 1A 和 1B 都弹出,完全激活。

这是一个已知错误吗?这是我可以解决的问题吗?有什么建议吗?

用户希望能够看到当前禁用的东西,或者我只是让它们不可见。遗憾的是,这不是我们可以轻松使用的选项。

最佳答案

我可以确认 Framework 2.0、3.5 和 4.0 的 MenuStrip 会出现这种情况。我唯一合理的解决方法是将 Visible 属性设置为 false,这样该项目就不会出现。不理想,但比让子项目可访问要好。

当然你也可以创建一个递归禁用所有子项的函数,这样即使它们出现,它们至少被禁用,你需要保持之前的状态以确保你以后不会重新启用一个实际上被禁用的子项等等。文档表明这实际上是发生了什么,但事实并非如此,即使父项被禁用,子项仍然保持启用状态。

关于c# - Winforms 中禁用的菜单项仍然显示子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32025143/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com