create Context Menu in Windows Forms application using C# z

來源:互聯網
上載者:User

標籤:des   style   class   c   code   tar   

In this article let us see how to create Context Menu in Windows Forms application using C#

Introduction

In this article we will see how to create Context Menu or Popup Menu or Shortcut menu in Windows Forms application with ContextMenuStrip control using C#

Context Menu

Context menu is group of commands or menu items that can be accessed by Right click on the control surface. It usually contains some frequently used commands for example Cut, Copy and Paste in a text editor. In Windows Forms, context menu is created using ContextMenuStrip control and its command or menu items are ToolStripMenuItem objects.

Creating Context Menu in design view

  • Create a new Windows Forms application and drag a ContextMenuStrip control on the Form
  • Type name of menu item in the ComboBox labeled with “Type Here” and press Enter. For example, type “Exit” and press Enter
  • Double click on the menu item (Exit) to write code for its Click event. Write following in its Click event
?
1 2 3 4 private void exitToolStripMenuItem_Click(object sender, EventArgs e) {      Application.Exit(); }
  • Set ContextMenuStrip property of the Form to contextMenuStrip1

In this article let us see how to create Context Menu in Windows Forms application using C#

Introduction

In this article we will see how to create Context Menu or Popup Menu or Shortcut menu in Windows Forms application with ContextMenuStrip control using C#

Context Menu

Context menu is group of commands or menu items that can be accessed by Right click on the control surface. It usually contains some frequently used commands for example Cut, Copy and Paste in a text editor. In Windows Forms, context menu is created using ContextMenuStrip control and its command or menu items are ToolStripMenuItem objects.

Creating Context Menu in design view

  • Create a new Windows Forms application and drag a ContextMenuStrip control on the Form
  • Type name of menu item in the ComboBox labeled with “Type Here” and press Enter. For example, type “Exit” and press Enter
  • Double click on the menu item (Exit) to write code for its Click event. Write following in its Click event
?
1 2 3 4 private void exitToolStripMenuItem_Click(object sender, EventArgs e) {      Application.Exit(); }
  • Set ContextMenuStrip property of the Form to contextMenuStrip1

Creating Context Menu in code behind

  • Create a new Windows Forms application
  • Write code for CreateContextMenu() method and call it after InitializeComponet() method
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public Form1() {      InitializeComponent();      CreateContextMenu(); }   private void CreateContextMenu() {      ContextMenuStrip menuStrip = new ContextMenuStrip();      ToolStripMenuItem menuItem = new ToolStripMenuItem("Exit");      menuItem.Click += new EventHandler(menuItem_Click);      menuItem.Name = "Exit";      menuStrip.Items.Add(menuItem);      this.ContextMenuStrip = menuStrip; }
  • Write code for menuItem Click event
?
1 2 3 4 5 6 7 8 void menuItem_Click(object sender, EventArgs e) {      ToolStripItem menuItem = (ToolStripItem)sender;      if (menuItem.Name == "Exit")      {           Application.Exit();      } }

Add image to Context Menu items

Image property of ToolStripMenuItem is used to add image to a menu item. In design view, select menu item and go to its property and click ellipsis(…) next to the Image property and select image from Local Resource or Project Resource File.

To add image to a menu item first add a folder named “icons” in the project and add images to that folder. I have added “Close.png” to that folder. ToolStripMenuItem.Image is set with an image so you can any image to it. You can also give any absolute path in Image.FromFile() method

?
1 menuItem.Image=Image.FromFile("../../icons/Close.png");

Add shortcut keys to Context Menu items

In design view, use ShorcutKeys property to set shortcuts to the menu items. Select your prefered combination of keys by using CheckBoxes for Modifiers (Ctrl, Alt and Shift) and selecting Key from ComboBox. For example, to bind shortcut of “Alt+X” to Exit, select Alt CheckBox from Modifiers and select X from Key ComboBox

In code behind, write following to do the same, to add multiple keys separate them using Pipe character

?
1 menuItem.ShortcutKeys = Keys.Alt|Keys.X;

By default, shortcut keys are shown with the menu items. It can be set to hidden by setting ShowShortcutKeys property of the menu item to false

?
1 menuItem.ShowShortcutKeys = false;

Show CheckBox to Context Menu items

To show CheckBox in a menu item, set Checked property of ToolStripMenuItem to true. CheckBox is shown only if Image is not displayed in the menu item. CheckState of CheckBox can be set after setting Checked property to CheckState.Checked, CheckState.Indeterminate or CheckState.Unchecked

?
1 2 menuItem.Checked = true; menuItem.CheckState = CheckState.Checked

To add a toggle CheckBox to the menu item set CheckOnClick property to true. It toggles checked state of CheckBox when clicked

?
1 menuItem.CheckOnClick = true;

Set Display Style of Context Menu items

Display style of a ToolStripMenuItem can be changed using DisplayStyle property. It can be set to one of the ToolStripItemDisplayStyle enumerators, ToolStripItemDisplayStyle.Image, ToolStripItemDisplayStyle.ImageAndText, ToolStripItemDisplayStyle.None or ToolStripItemDisplayStyle.Text

?
1 menuItem.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText;

Type of items in ContextMenuStrip

There are four types of items that can be added to a ContextMenuStrip

  1. MenuItem (ToolStripMenuItem) : It is used to give simple menu item like “Exit” in above example
  2. ComboBox (ToolStripComboBox) : It is used to insert a ComboBox in the context menu where user can select or type an item in ComboBox
  3. Separator (ToolStripSeparator) : It is used to give a horizontal line (ruler) between menu items
  4. TextBox (ToolStripTextBox) : It is used to give a TextBox in context menu where user can enter an item

Type of item can be selected by clicking on the arrow of the ComboBox labeled with “Type here”

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.