Для реализации этих возможностей есть свойство Visible.
public bool Visible {get; set;}
Смотрим пример:
using System; using System.Windows.Forms; using System.Drawing; class MainForm : Form { MenuItem MenuNew; public MainForm() { Text = "Easy Draw"; MainMenu mnuMenu = new MainMenu(); this.Menu = mnuMenu; MenuItem MenuItemFile = new MenuItem("&File"); MenuNew = new MenuItem("New"); MenuItem MenuOpen = new MenuItem("Open"); MenuItem MenuExit = new MenuItem("Exit", new System.EventHandler(this.MenuExit_Click)); MenuItemFile.MenuItems.Add(MenuNew); MenuItemFile.MenuItems.Add(MenuOpen); MenuItemFile.MenuItems.Add(MenuExit); mnuMenu.MenuItems.Add(MenuItemFile); } private void MenuExit_Click(Object sender, EventArgs e) { MenuNew.Visible = !MenuNew.Visible; } public static void Main(string[] args) { Application.Run(new MainForm()); } }
После первого выбора меню Exit пункт меню New пропадет.