dotnetmonitor.com

 
Index
Previous
Next

 

Mnemonics

Combined with or following the ALT key, mnemonics are one way to activate a ToolStripItem via keyboard. ToolStrip supports both explicit and implicit mnemonics. Explicit mnemonics are defined inline with the ampersand (&) character preceding the letter. Implicit mnemonics are determined by an algorithm wihin ToolStrips that attempts to find a matching item based on order of characters in the Text property.

Shortcuts

Shortcuts used by MenuStrips are different than ShortcutKeys used in MainMenu. One is a precombined list of keycombinations. MenuStrips simply use a combinations of the Keys enum (not order specific) to define the shortcut. In addition a provision is made to display a shortcutkey via text (e.g. Delete vs. Del) via the ShortcutDisplayString

Navigation

Alt activates the MenuStrip pointed to by Form.MainMenuStrip. From there, CTRL+TAB navigates between ToolStrips within ToolStripPanels. TAB and arrow keys are used to navigate between items in a ToolStrip. We use a special nearest item arrow handling algorithm in the Overflow to handle cross row navigation. Spacebar clicks ToolStripButton, ToolStripDropDownButton, ToolStripSplitButton.

Focus/Validation

For the most part, when activated by the menu key (ALT), the MenuStrip/ToolStrip will try not to take focus away from the control that is currently focus. If there is a Control hosted within the MenuStrip or a dropdown off the MenuStrip, the Control will gain focus when tabbed to. In general, the GotFocus/LostFocus/Enter/Leave events on MenuStrip may not fire when keyboard activated. In such cases, the MenuStrip.MenuActivate, MenuStrip.MenuDeactivate events can be used instead.

 

By default ToolStrip.CausesValidation is false. Validation can be performed by manually calling Validate() on the Form.

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