我正在开发一个MDI Windows Forms
应用程序。我的父表单有ToolStrip
menu 和一些ToolStripDropDownButtons
. 我想根据用户的许可Visible
将 or 的属性更改为它具有ToolStripDropDownButton
的某些ToolStripItems
(子按钮)。
这是我为管理此问题而编写的方法的一部分:
private void SetToolStripDropDownVisibility(ToolStripDropDownButton mainBtn, params ToolStripItem[] item)
{
mainBtn.Visible = false;
foreach (ToolStripItem tempItem in item)
{
tempItem.Visible = true;
}
}
我将作为第一个参数ToolStripDropDownButton
和所有其他“子按钮”作为参数列表传递。foreach (ToolStripItem tempItem in item)
但是,当我在部分中进入调试模式时,tempItem
Visible 属性被标记为 false。然而,在设计器中,此属性设置为 true。您可以看到我什至尝试明确地将值更改为 true -tempItem.Visible = true;
但似乎这条线什么也没做。Visible
留下的价值,false
我无法改变。
这只是方法的开始,我想不出其他代码会弄乱这些ToolStrip
项目。我试图将值更改mainBtn.Visible
为真或假,认为可能存在任何联系,但似乎这不是问题所在。所以任何想法为什么会发生这种情况,为什么我不能改变Visible
价值,当然还有任何方式来做到这一点。