Option Menu and RadioOption menu : MenuItem « GUI Windows Forms « C# / CSharp Tutorial






Option Menu and RadioOption menu
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

public class MenuItemEventOption : System.Windows.Forms.Form
{
  private System.Windows.Forms.MainMenu mainMenu1;
  private System.Windows.Forms.MenuItem mnuNew;
  private System.Windows.Forms.MenuItem mnuFile;
  private System.Windows.Forms.MenuItem mnuFileOpen;
  private System.Windows.Forms.MenuItem mnuFileClose;
  private System.Windows.Forms.MenuItem mnuFileSave;
  private System.Windows.Forms.MenuItem mnuFileSaveAs;
  private System.Windows.Forms.MenuItem mnuEdit;
  private System.Windows.Forms.MenuItem mnuEditCopy;
  private System.Windows.Forms.MenuItem mnuEditPaste;
  private System.Windows.Forms.MenuItem mnuOption1;
  private System.Windows.Forms.MenuItem mnuOption2;
  private System.Windows.Forms.MenuItem mnuOption3;
  private System.Windows.Forms.MenuItem mnuROption1;
  private System.Windows.Forms.MenuItem mnuROption2;
  private System.Windows.Forms.MenuItem mnuROption3;
  private System.Windows.Forms.MenuItem mnuWindow;
  private System.Windows.Forms.MenuItem mnuOptions;
  private System.Windows.Forms.MenuItem mnuRadioOptions;

  private System.ComponentModel.Container components = null;

  public MenuItemEventOption()
  {
    InitializeComponent();
  }

  protected override void Dispose( bool disposing )
  {
    if( disposing )
    {
      if (components != null) 
      {
        components.Dispose();
      }
    }
    base.Dispose( disposing );
  }

  private void InitializeComponent()
  {
    this.mainMenu1 = new System.Windows.Forms.MainMenu();
    this.mnuFile = new System.Windows.Forms.MenuItem();
    this.mnuNew = new System.Windows.Forms.MenuItem();
    this.mnuFileOpen = new System.Windows.Forms.MenuItem();
    this.mnuFileClose = new System.Windows.Forms.MenuItem();
    this.mnuFileSave = new System.Windows.Forms.MenuItem();
    this.mnuFileSaveAs = new System.Windows.Forms.MenuItem();
    this.mnuEdit = new System.Windows.Forms.MenuItem();
    this.mnuEditCopy = new System.Windows.Forms.MenuItem();
    this.mnuEditPaste = new System.Windows.Forms.MenuItem();
    this.mnuOptions = new System.Windows.Forms.MenuItem();
    this.mnuOption1 = new System.Windows.Forms.MenuItem();
    this.mnuOption2 = new System.Windows.Forms.MenuItem();
    this.mnuOption3 = new System.Windows.Forms.MenuItem();
    this.mnuRadioOptions = new System.Windows.Forms.MenuItem();
    this.mnuROption1 = new System.Windows.Forms.MenuItem();
    this.mnuROption2 = new System.Windows.Forms.MenuItem();
    this.mnuROption3 = new System.Windows.Forms.MenuItem();
    this.mnuWindow = new System.Windows.Forms.MenuItem();

    this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
      this.mnuFile, this.mnuEdit, this.mnuOptions, this.mnuRadioOptions, this.mnuWindow});

    this.mnuFile.Index = 0;
    this.mnuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                        this.mnuNew,
                                        this.mnuFileOpen,
                                        this.mnuFileClose,
                                        this.mnuFileSave,
                                        this.mnuFileSaveAs});
    this.mnuFile.Text = "File";

    this.mnuNew.Index = 0;
    this.mnuNew.Shortcut = System.Windows.Forms.Shortcut.CtrlN;
    this.mnuNew.Text = "&New";
    this.mnuNew.Click += new System.EventHandler(this.mnuNew_Click);

    this.mnuFileOpen.Index = 1;
    this.mnuFileOpen.Text = "Open";
    this.mnuFileOpen.Click += new System.EventHandler(this.mnuFileOpen_Click);
    // 
    // mnuFileClose
    // 
    this.mnuFileClose.Index = 2;
    this.mnuFileClose.Text = "Close";
    this.mnuFileClose.Click += new System.EventHandler(this.mnuFileClose_Click);
    // 
    // mnuFileSave
    // 
    this.mnuFileSave.Index = 3;
    this.mnuFileSave.Text = "Save";
    this.mnuFileSave.Click += new System.EventHandler(this.mnuFileSave_Click);
    // 
    // mnuFileSaveAs
    // 
    this.mnuFileSaveAs.Index = 4;
    this.mnuFileSaveAs.Text = "Save&As";
    this.mnuFileSaveAs.Click += new System.EventHandler(this.mnuFileSaveAs_Click);
    // 
    // mnuEdit
    // 
    this.mnuEdit.Index = 1;
    this.mnuEdit.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                        this.mnuEditCopy,
                                        this.mnuEditPaste});
    this.mnuEdit.Text = "Edit";
    // 
    // mnuEditCopy
    // 
    this.mnuEditCopy.Index = 0;
    this.mnuEditCopy.Text = "&Copy";
    this.mnuEditCopy.Click += new System.EventHandler(this.mnuEditCopy_Click);
    // 
    // mnuEditPaste
    // 
    this.mnuEditPaste.Index = 1;
    this.mnuEditPaste.Text = "Paste";
    this.mnuEditPaste.Click += new System.EventHandler(this.mnuEditPaste_Click);
    // 
    // mnuOptions
    // 
    this.mnuOptions.Index = 2;
    this.mnuOptions.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                           this.mnuOption1,
                                           this.mnuOption2,
                                           this.mnuOption3});
    this.mnuOptions.Text = "Options";
    // 
    // mnuOption1
    // 
    this.mnuOption1.Index = 0;
    this.mnuOption1.Text = "Option1";
    this.mnuOption1.Click += new System.EventHandler(this.Option_Click);
    // 
    // mnuOption2
    // 
    this.mnuOption2.Index = 1;
    this.mnuOption2.Text = "Option2";
    this.mnuOption2.Click += new System.EventHandler(this.Option_Click);
    // 
    // mnuOption3
    // 
    this.mnuOption3.Index = 2;
    this.mnuOption3.Text = "Option3";
    this.mnuOption3.Click += new System.EventHandler(this.Option_Click);
    // 
    // mnuRadioOptions
    // 
    this.mnuRadioOptions.Index = 3;
    this.mnuRadioOptions.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
                                            this.mnuROption1,
                                            this.mnuROption2,
                                            this.mnuROption3});
    this.mnuRadioOptions.Text = "Radio Options";
    // 
    // mnuROption1
    // 
    this.mnuROption1.Index = 0;
    this.mnuROption1.RadioCheck = true;
    this.mnuROption1.Text = "Radio Option 1";
    this.mnuROption1.Click += new System.EventHandler(this.RadioOption_Click);
    // 
    // mnuROption2
    // 
    this.mnuROption2.Index = 1;
    this.mnuROption2.RadioCheck = true;
    this.mnuROption2.Text = "Radio Option 2";
    this.mnuROption2.Click += new System.EventHandler(this.RadioOption_Click);
    // 
    // mnuROption3
    // 
    this.mnuROption3.Index = 2;
    this.mnuROption3.RadioCheck = true;
    this.mnuROption3.Text = "Radio Option 3";
    this.mnuROption3.Click += new System.EventHandler(this.RadioOption_Click);
    // 
    // mnuWindow
    // 
    this.mnuWindow.Index = 4;
    this.mnuWindow.MdiList = true;
    this.mnuWindow.Text = "&Window";
    // 
    // MenuItemEventOption
    // 
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    this.ClientSize = new System.Drawing.Size(292, 186);
    this.IsMdiContainer = true;
    this.Menu = this.mainMenu1;
    this.Name = "MenuItemEventOption";
    this.Text = "MenuItemEventOption";

  }

  [STAThread]
  static void Main() 
  {
    Application.Run(new MenuItemEventOption());
  }


  private void mnuNew_Click(object sender, System.EventArgs e)
  {
  }

    private void mnuFileOpen_Click(object sender, System.EventArgs e)
  {
    MessageBox.Show ("You clicked File Open", "Menu Event Tester",   MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  }

  private void mnuFileClose_Click(object sender, System.EventArgs e)
  {
    MessageBox.Show ("You clicked File Close", "Menu Event Tester",  MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

  }
  private void Option_Click(object sender, System.EventArgs e)
  {
    MenuItem item = sender as MenuItem;

    if ( item != null )
    {
      item.Checked = ! item.Checked;
    }
  }

  private void RadioOption_Click(object sender, System.EventArgs e)
  {
    MenuItem item = sender as MenuItem;
    Menu parent = item.Parent;

    if ( item != null )
    {
      foreach ( MenuItem mi in parent.MenuItems )
        mi.Checked = false;
      item.Checked = true;
    }
  }

  private void mnuEditCopy_Click(object sender, System.EventArgs e)
  {
    MessageBox.Show ("You clicked Edit Copy", "Menu Event Tester", 
      MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  
  }

  private void mnuEditPaste_Click(object sender, System.EventArgs e)
  {
    MessageBox.Show ("You clicked Edit Paste", "Menu Event Tester", 
      MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  
  }

  private void mnuFileSave_Click(object sender, System.EventArgs e)
  {
    MessageBox.Show ("You clicked Save", "Menu Event Tester", 
      MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

  }

  private void mnuFileSaveAs_Click(object sender, System.EventArgs e)
  {
    MessageBox.Show ("You clicked SaveAs", "Menu Event Tester", 
      MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  
  }
}








23.41.MenuItem
23.41.1.new MenuItem()
23.41.2.Add action event handler to MenuItemAdd action event handler to MenuItem
23.41.3.Option Menu and RadioOption menuOption Menu and RadioOption menu
23.41.4.Owner Drawn MenuItemOwner Drawn MenuItem