Я работаю над приложением MDI Windows Forms
. В моей родительской форме есть меню ToolStrip
и некоторые ToolStripDropDownButtons
. Я хочу изменить свойство Visible
ToolStripDropDownButton
или на некоторые из ToolStripItems
(дополнительные кнопки), которые он имеет, соответственно, с разрешения пользователя.Windows Forms - ToolStripItem Видимое свойство всегда установлено на false
Вот часть метода, который я написал, чтобы справиться с этим:
private void SetToolStripDropDownVisibility(ToolStripDropDownButton mainBtn, params ToolStripItem[] item)
{
mainBtn.Visible = false;
foreach (ToolStripItem tempItem in item)
{
tempItem.Visible = true;
}
}
Я передаю в качестве первого аргумента ToolStripDropDownButton
и все другие «суб кнопки» в качестве списка Params. Однако, когда я попадаю в режим отладки в части foreach (ToolStripItem tempItem in item)
, tempItem
Видимое свойство помечено как ложное. Однако в дизайнере это свойство имеет значение true. Вы можете видеть, что я даже пытаюсь явно изменить значение на true - tempItem.Visible = true;
, но кажется, что эта строка ничего не делает. Значение Visible
остается false
, и я не могу его изменить.
Это только начало метода, и я не могу думать о другом коде, который может испортить элементы ToolStrip
. Я попытался изменить значение mainBtn.Visible
на истинное или ложное мышление, возможно, есть какая-либо связь, но, похоже, это не проблема. Поэтому любая идея, почему это происходит, почему я не могу изменить значение Visible
и, конечно, любой способ сделать это.
изменение «предмета» на «предметы» не наносит вреда и улучшит удобочитаемость. – David