У меня есть Form
, который содержит Menu
с двумя элементами, которые Меню и Инструменты. У двух Menues есть SubMenus
.Включить и отключить записи ToolStripMenu в C#?
Теперь у меня есть TextBox
называется txtSelect
и Button
называется btnVisible
, если я вхожу в 1,2 TextBox
, что SubMenu
s в Menu
не должен быть виден. Я написал следующий код, бит написан на жестком диске.
ToolStripMenuItem[] mstrip = new ToolStripMenuItem[] { msO1, msO2, msO3, msP1, msP2, msP3 };
if (txtSelect.Text.Length > 2)
{
string word = txtSelect.Text;
string[] splt = word.Split(',');
for (int x = 0; x < mstrip.Length; x++)
mstrip[x].Visible = true;
for (int x = 0; x < splt.Length; x++)
{
int y = Convert.ToInt32(splt[x].ToString()) - 1;
if (y >= 0 && y < mstrip.Length)
mstrip[y].Visible = false;
textBox1.AppendText(mstrip[y].Text);
textBox2.AppendText(mstrip[y].OwnerItem.Text);
}
}
Я хочу использовать foreach
цикл вместо в Button
Click Event и попытались с нижеследующим, однако результат не то же самое, как и приведенный выше код.
foreach (ToolStripMenuItem mnItem in msMenus.Items)
{
MessageBox.Show(mnItem.Text);
for (int i = 0; i < mnItem.DropDown.Items.Count; i++)
{
MessageBox.Show(mnItem.DropDown.Items[i].Text);
mnItem.DropDown.Items[i].Visible = true;
}
}
Не могли бы вы прояснить этот вопрос? Что вам нужно? – stevepkr84
Я хочу, чтобы над валидацией с петлей foreach .... я не хочу hardcode ..., –