[英]Grey out menustrip items when certain forms are open/active/focused
在我的父表单上,我有一个菜单条。 我默认禁用(Enabled=false)
一些选项。 但是,我无法从需要启用这些项目的孩子访问菜单。
我在子窗体构造函数中尝试了很多这样的变体:
string[] visibleItems = new[] { "Export", "Import" }; foreach (ToolStripMenuItem item in MdiParent.MainMenuStrip.Items) //base.MainMenuStrip.Items, MainMenuStrip.Items, base.Menu.MdiListItem.MenuItems won't work either. { if (visibleItems.Contains(item.Name)) item.Enabled = true; }
我收到一个空指针错误,我似乎无法访问我创建的菜单。
无论如何,如果我让它像这样工作,我想我必须在窗口失去焦点或关闭时再次禁用这些项目。 那么当不同的表单打开/关闭聚焦/不聚焦时,访问项目属性的正确方法是什么?
我知道这是一个老问题,以防万一有人面临同样的问题。 您可以尝试将控件的修饰符更改为Public,然后再次查看。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.