Home > DeveloperSection > Forums > ToolStripMenuItem and KeyPress or KeyDown event
jayprakash sharma
jayprakash sharma

Total Post:117

Points:821
Posted on    January-28-2014 12:08 AM

 C# C# 
Ratings:


 1 Reply(s)
 2516  View(s)
Rate this:

I am using ToolStripDropDownButton and dynamically adding menu items as below:

toolStripDropDownButton1.DropDownItems.Clear();

ToolStripMenuItem item1 = new ToolStripMenuItem("Item1");

toolStripDropDownButton1.DropDownItems.Add(item1);

ToolStripMenuItem item2 = new ToolStripMenuItem("Item2");

toolStripDropDownButton1.DropDownItems.Add(item2);

I would like to delete the selected menu item when the Delete key is pressed. But the ToolStripMenuItem doesn't have KeyPress or KeyDown event.

I am using Visual Studio 2010 and .NET 4.0. Any suggestions on how to achieve this functionality?



Pravesh Singh

Total Post:411

Points:2881
Posted on    January-28-2014 12:52 AM

Hi Jay,

The enclosing ToolStrip gets the key events so you can handle it there with something like:

toolStripDropDownButton1.KeyDown += (s, e) =>

{

    if (e.KeyCode == Keys.Delete)

    {

        foreach (var item in ((ToolStrip)s).Items.OfType<ToolStripMenuItem>())

        {

            if (item.Selected)

            {

                ((ToolStrip)s).Items.Remove(item);

                break;

            }

        }

    }

};


Don't want to miss updates? Please click the below button!

Follow MindStick