In one of my recent C# applications I had to use menus on a form and corresponding event handlers on the click of menu items.The MainMenu class is used to create a main menu. MenuItem class can be used to add menu items. MenuItem class is used to add menu items to the main menu. Menu item constructor takes its event handler as an argument.using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;namespace OpenFileDlg{/// <summary>/// Summary description for Form1./// </summary>public class Form1 : System.Windows.Forms.Form{private System.Windows.Forms.Button button1;private System.Windows.Forms.TextBox textBox1;/// <summary>/// Required designer variable./// </summary>private System.ComponentModel.Container components = null;public Form1(){//// Required for Windows Form Designer support//InitializeComponent();//// TODO: Add any constructor code after InitializeComponent call//}/// <summary>/// Clean up any resources being used./// </summary>protected override void Dispose( bool disposing ){if( disposing ){if (components != null){components.Dispose();}}base.Dispose( disposing );}#region Windows Form Designer generated code/// <summary>/// Required method for Designer support - do not modify/// the contents of this method with the code editor./// </summary>private void InitializeComponent(){this.button1 = new System.Windows.Forms.Button();this.textBox1 = new System.Windows.Forms.TextBox();this.SuspendLayout();//// button1//this.button1.Location = new System.Drawing.Point(80, 56);this.button1.Name = "button1";this.button1.Size = new System.Drawing.Size(136, 32);this.button1.TabIndex = 0;this.button1.Text = "button1";this.button1.Click += new System.EventHandler(this.button1_Click);//// textBox1//this.textBox1.Location = new System.Drawing.Point(56, 120);this.textBox1.Name = "textBox1";this.textBox1.Size = new System.Drawing.Size(208, 20);this.textBox1.TabIndex = 1;this.textBox1.Text = "textBox1";//// Form1//this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);this.ClientSize = new System.Drawing.Size(292, 273);this.Controls.AddRange(new System.Windows.Forms.Control[] {this.textBox1,this.button1});this.Name = "Form1";this.Text = "Form1";this.Load += new System.EventHandler(this.Form1_Load);this.ResumeLayout(false);}#endregion/// <summary>/// The main entry point for the application./// </summary>[STAThread]static void Main(){Application.Run(new Form1());}private void button1_Click(object sender, System.EventArgs e){OpenFileDialog fdlg = new OpenFileDialog();fdlg.Title = "C# Corner Open File Dialog" ;fdlg.InitialDirectory = @"c:\" ;fdlg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*" ;fdlg.FilterIndex = 2 ;fdlg.RestoreDirectory = true ;if(fdlg.ShowDialog() == DialogResult.OK){textBox1.Text = fdlg.FileName ;}}private void Form1_Load(object sender, System.EventArgs e){// Adding a new menu to the formMainMenu mainMenu = new MainMenu();this.Menu = mainMenu;ContextMenu label1ContextMenu = new ContextMenu();Label label1 = new Label();label1.ContextMenu = label1ContextMenu; //Add Database Options MenuMenuItem miFile = mainMenu.MenuItems.Add("&Database Options");miFile.MenuItems.Add(new MenuItem("&Open Database", new EventHandler this.FileOpen_Clicked), Shortcut.CtrlO));miFile.MenuItems.Add("-");// Gives us a seperatormiFile.MenuItems.Add(new MenuItem("&Create New Database", new EventHandler this.FileCreateDB_Clicked),Shortcut.CtrlC));miFile.MenuItems.Add("-");miFile.MenuItems.Add(new MenuItem("E&xit", new EventHandler this.FileExit_Clicked), Shortcut.CtrlX));}Here is the code for event handlers://File->Open Database Menu item handlerprivate void FileOpen_Clicked(object sender, System.EventArgs e){openFileDialog fdlg = new OpenFileDialog();fdlg.Title = "C# Corner Open File Dialog" ;fdlg.InitialDirectory = @"c:\" ;fdlg.Filter = "All files (*.*)|*.*|Access Database(*.mdb) files (*.mdb)|*.mdb" ;fdlg.FilterIndex = 2 ;fdlg.RestoreDirectory = true ;if(fdlg.ShowDialog() == DialogResult.OK){textBox1.Text = fdlg.FileName ;}}//File->Create Database Menu item handlerprivate void FileCreateDB_Clicked(object sender, System.EventArgs e){MessageBox.Show("Create Database menu event");}//File->Exit Menu item handlerprivate void FileExit_Clicked(object sender, System.EventArgs e){this.Close();}}}References: MSDN
You need to be a premium member to use this feature. To access it, you'll have to upgrade your membership.
Become a sharper developer and jumpstart your career.
$0
$
. 00
monthly
For Basic members:
$20
For Premium members:
$45
For Elite members: