I have a ContextMenuStrip that contains a submenu of dynamically generated ToolStripMenuItems. There are up to 80 sub menu items. Pressing the first letter of a desired menu item selects it correctly, but if the item happens to be out of the visible range (in a range handled by the scroll arrows), it isn't displayed - the user has to press the up arrow and then the down arrow for the desired option to be displayed & focussed on the screen.
As an example, I have 6 items starting with "m" but only 3.5 are visible. I hit m one and the first item is highlighted, I hit m 3 more times and I can see half a selected row (it's at the bottom of the visible area), hit m two more times, and I can't see the select row, then m one more time and the first m entry is visible and selected again.
By default ToolStripMenuItems (TSMI) don't have key listeners available, however if I subclass the TSMI I can catch ProcessDialogKey and ProcessCmdKey and manually select the right option, but I am unable to scroll the toolstrip sub menu down to ensure my option is visible.
Any tips on how to either a) scroll a tool strip's sub menu or b) allow the sub menu to use multiple columns (and hope the user doesn't have a ridiculously low resolution).