class MyContextMenuStrip : ContextMenuStrip
{
private C1Editor _owner;
private ToolStripMenuItem _btnUndo, _btnRedo;
public MyContextMenuStrip(C1Editor editor)
{
// save reference to parent control
_owner = editor;
// create menu items
_btnUndo = (ToolStripMenuItem)Items.Add("Undo");
_btnUndo.ShortcutKeys = Keys.Control | Keys.Z;
_btnRedo = (ToolStripMenuItem)Items.Add("Redo");
_btnRedo.ShortcutKeys = Keys.Control | Keys.Y;
}
protected override void OnItemClicked(ToolStripItemClickedEventArgs e)
{
Close();
if (e.ClickedItem == _btnUndo)
_owner.Undo();
else if (e.ClickedItem == _btnRedo)
_owner.Redo();
base.OnItemClicked(e);
}
protected override void OnOpening(System.ComponentModel.CancelEventArgs e)
{
_btnUndo.Enabled = _owner.CanUndo;
_btnRedo.Enabled = _owner.CanCut;
base.OnOpening(e);
}