protected override void OnClick(object sender, EventArgs e)
{
// Create the context strip the first time around
if (_cms == null)
{
_cms = new ContextMenuStrip();
_cms.ImageList = _imageList;
// Create child items
ToolStripMenuItem menuButton = new ToolStripMenuItem("Add Button", null, new EventHandler(OnAddButton));
ToolStripMenuItem menuColorButton = new ToolStripMenuItem("Add Color Button", null, new EventHandler(OnAddColorButton));
ToolStripMenuItem menuCheckBox = new ToolStripMenuItem("Add CheckBox", null, new EventHandler(OnAddCheckBox));
ToolStripMenuItem menuCustomControl = new ToolStripMenuItem("Add Custom Control", null, new EventHandler(OnAddCustomControl));
ToolStripMenuItem menuLabel = new ToolStripMenuItem("Add Label", null, new EventHandler(OnAddLabel));
ToolStripMenuItem menuRadioButton = new ToolStripMenuItem("Add RadioButton", null, new EventHandler(OnAddRadioButton));
ToolStripMenuItem menuTextBox = new ToolStripMenuItem("Add TextBox", null, new EventHandler(OnAddTextBox));
ToolStripMenuItem menuMaskedTextBox = new ToolStripMenuItem("Add MaskedTextBox", null, new EventHandler(OnAddMaskedTextBox));
ToolStripMenuItem menuRichTextBox = new ToolStripMenuItem("Add RichTextBox", null, new EventHandler(OnAddRichTextBox));
ToolStripMenuItem menuComboBox = new ToolStripMenuItem("Add ComboBox", null, new EventHandler(OnAddComboBox));
ToolStripMenuItem menuNumericUpDown = new ToolStripMenuItem("Add NumericUpDown", null, new EventHandler(OnAddNumericUpDown));
ToolStripMenuItem menuDomainUpDown = new ToolStripMenuItem("Add DomainUpDown", null, new EventHandler(OnAddDomainUpDown));
ToolStripMenuItem menuDateTimePicker = new ToolStripMenuItem("Add DateTimePicker", null, new EventHandler(OnAddDateTimePicker));
ToolStripMenuItem menuTrackBar = new ToolStripMenuItem("Add TrackBar", null, new EventHandler(OnAddTrackBar));
// Assign correct images
menuButton.ImageIndex = 0;
menuColorButton.ImageIndex = 1;
menuCheckBox.ImageIndex = 2;
menuRadioButton.ImageIndex = 3;
menuLabel.ImageIndex = 4;
menuCustomControl.ImageIndex = 5;
menuTextBox.ImageIndex = 6;
menuRichTextBox.ImageIndex = 7;
menuComboBox.ImageIndex = 8;
menuMaskedTextBox.ImageIndex = 9;
menuNumericUpDown.ImageIndex = 10;
menuDomainUpDown.ImageIndex = 11;
menuDateTimePicker.ImageIndex = 12;
menuTrackBar.ImageIndex = 13;
// Finally, add all items to the strip
_cms.Items.AddRange(new ToolStripItem[] { menuButton, menuColorButton, menuCheckBox, menuComboBox, menuCustomControl, menuDateTimePicker, menuDomainUpDown, menuLabel, menuNumericUpDown, menuRadioButton, menuRichTextBox, menuTextBox, menuTrackBar, menuMaskedTextBox });
}
if (CommonHelper.ValidContextMenuStrip(_cms))
{
// Find the screen area of this view item
Rectangle screenRect = Ribbon.ViewRectangleToScreen(this);
// Make sure the popup is shown in a compatible way with any popups
VisualPopupManager.Singleton.ShowContextMenuStrip(_cms, new Point(screenRect.X, screenRect.Bottom));
}
}