当某些表格处于打开/活动/聚焦状态时,灰色的menustrip项目

时间:2014-05-02 18:55:15

标签: c# .net menustrip

在我的父母表格上,我有一个menustrip。我默认禁用了(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;
}

我得到一个空指针错误,我似乎无法找到对我创建的菜单的访问权。

无论如何,如果我让它像这样工作,我想我必须在窗口失去焦点或关闭时再次禁用项目。那么,当不同的表单被打开/关闭聚焦/未聚焦时,访问项属性的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

我知道这是一个古老的问题,以防万一有人遇到相同的问题。 您可以尝试将控件的修改器更改为“公共”,然后再次签出。