dotnetmonitor.com

 
Index
Previous
Next

 

The concept of container ownership and parenting is more complex in ToolStrips than in a typical Windows Forms container control. That is necessary to support dynamic scenarios such as overflow, sharing drop downs across multiple ToolStrip items and to support spawning ContextMenuStrips from controls.

 

The following lists parenting related properties and an explanation of their use

 

ToolStripItem ToolStripDropDown.OwnerItem

OwnerItem is used to access the item which sourced the dropdown. This is analogous to ContextMenuStrip.SourceControl, but instead of returning Control it returns ToolStripItem.

 

Control ContextMenuStrip.SourceControl

Indentical in function to ContextMenus SourceControl. Used to determine which control sourced the ContextMenuStrip when multiple controls share the same ContextMenuStrip.

 

ToolStrip ToolStripItem.GetCurrentParent()

Rather than expose r/w Parent, we provide a read only accessor to the property via this method. Parent differs from Owner in that it will return the current ToolStrip in which the item is displayed within which may be the Overflow.

 

ToolStrip ToolStripItem.Owner()

This returns the ToolStrip whose Items collection contains this ToolStripItem. This is the best way to reference ImageList or other properties in the top level ToolStrip without writing special case code to handle overflow

Painting
When should I use Paint/OnPaint and when should I override the ToolStripRenderer?
Do I need to worry about double buffering?
Partial Trust
Usage