0
(cms.Items[6] as ToolStripMenuItem).DropDownItems.Add("Close program",null, new EventHandler(CloseProgram_Click));
(cms.Items[6] as ToolStripMenuItem).DropDownItems.Add("Show message", null, new EventHandler(ShowMessage_Click));
(cms.Items[6] as ToolStripMenuItem).DropDownItems.Add("-");
(cms.Items[6] as ToolStripMenuItem).DropDownItems.Add("Do nothing", null, new EventHandler(DoNothing_Click));

private void CloseProgram_Click(object sender, EventArgs e)
{
    // I want mark this menuItem on dropdownItem
}

menuItem を選択したときに、チェックを付けたい。

このような。

このような。

4

1 に答える 1

0

senderパラメータをにキャストするToolStripMenuItemと、そのCheckedプロパティを設定できます。

private void CloseProgram_Click(object sender, EventArgs e)
{
    // I want mark this menuItem on dropdownItem
    ToolStripMenuItem menuitem = sender as ToolStripMenuItem;
        if (menuitem != null)
            menuitem.Checked = true;
} 

Checkedこのように各メニュー項目の状態を取得できます

bool ischecked = (programToolStripMenuItem.DropDownItems[0] as ToolStripMenuItem).Checked;

必要なメニュー項目を取得するために、正しいインデックス (たとえば 0) を渡します。

于 2014-11-30T04:49:44.147 に答える