dotnetmonitor.com |
|
||||||||||||
| ToolStripMenuItem - default
ToolStripSeparator ToolStripTextBox ToolStripComboBox
Preferred items means the items that are designed to render with high accuracy across by system and professional renderers in all orientations and those available by default at design time for this control. ContextMenuStrip SampleContextMenuStrip.Opening e.Cancel handling with no items Dynamic SourceControl determination w/ reuse Dynamic item addition
class Form3 : Form { private ContextMenuStrip fruitContextMenuStrip;
public Form3() { // new ContextMenuStrip fruitContextMenuStrip = new ContextMenuStrip();
// sync opening event fruitContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(cms_Opening);
// new ToolStrip ToolStrip ts = new ToolStrip(); ToolStripDropDownButton fruitToolStripDropDownButton = new ToolStripDropDownButton("Fruit", null, null, "Fruit"); ts.Items.Add(fruitToolStripDropDownButton); ts.Dock = DockStyle.Top;
// wire up DropDownItem DropDown fruitToolStripDropDownButton.DropDown = fruitContextMenuStrip;
// new MenuStrip MenuStrip ms = new MenuStrip(); ToolStripMenuItem fruitToolStripMenuItem = new ToolStripMenuItem("Fruit", null, null, "Fruit"); ms.Items.Add(fruitToolStripMenuItem); ms.Dock = DockStyle.Top;
// wire up ToolStripMenuItem DropDown fruitToolStripMenuItem.DropDown = fruitContextMenuStrip;
// wire up Form ContextMenuStrip this.ContextMenuStrip = fruitContextMenuStrip;
// Add the toolstrip to the controls collection this.Controls.Add(ts);
// add menustrip to the controls collection last - Z order! this.Controls.Add(ms); }
void cms_Opening(object sender, System.ComponentModel.CancelEventArgs e) { // grab owners Control c = fruitContextMenuStrip.SourceControl as Control; ToolStripDropDownItem tsi = fruitContextMenuStrip.OwnerItem as ToolStripDropDownItem;
// clear collection fruitContextMenuStrip.Items.Clear();
// check source control first if (c != null) { // Add custom item (Form) fruitContextMenuStrip.Items.Add("Source: " + c.GetType().ToString()); } else if (tsi != null) { // Add custom item (ToolStripDropDownButton or ToolStripMenuItem) fruitContextMenuStrip.Items.Add("Source: " + tsi.GetType().ToString()); }
// add default items fruitContextMenuStrip.Items.Add("-"); fruitContextMenuStrip.Items.Add("Apples"); fruitContextMenuStrip.Items.Add("Oranges"); fruitContextMenuStrip.Items.Add("Pears");
// set cancel to false (optimized to true based on empty entry) e.Cancel = false;
} } |
||||||||||||
|
||||||||||||