MenuとToolsの 2 つのエントリを持つをForm
含む があります。2 つのメニューにはいくつかの.Menu
SubMenus
これで、 と がTextBox
呼び出されました。に 1,2 を入力すると、の は表示されません。私は次のコードを書きましたが、少しハードに書かれています。 txtSelect
Button
btnVisible
TextBox
SubMenu
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
、次のように試みましたが、結果は上記のコードと同じではありません。
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;
}
}