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 |
|
- 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 |
|
- 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 |
|
- Write code for menuItem Click event
?
1 2 3 4 5 6 7 8 |
|
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 |
|
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 |
|
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 |
|
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 |
|
To add a toggle CheckBox to the menu item set CheckOnClick property to true.
It toggles checked state of CheckBox when clicked
?
1 |
|
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 |
|
Type of items in ContextMenuStrip
There are four types of items that can be added to a ContextMenuStrip
- MenuItem (ToolStripMenuItem) : It is used to give simple menu item like
“Exit” in above example - ComboBox (ToolStripComboBox) : It is used to insert a ComboBox in the
context menu where user can select or type an item in ComboBox - Separator (ToolStripSeparator) : It is used to give a horizontal line
(ruler) between menu items - 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”
create Context Menu in Windows Forms application using C#
z