I need to enable keyboard access for navigation between multiple grids on a form. Currently, my users have to mouse click into each grid. Two questions:
1) is there an industry or defacto standard key sequence to invoke this, such as Ctrl-Tab?
2) what is the best way to implement, for example, having Ctrl-Tab move focus from (any cell within) the current grid and to the next control in the tab order.
1) By default, a Form will send the focus to the next control in the tab order when the tab key is pressed. However, UltraGrid overrides this behavior via the TabNavigation property, which default to navigating to the next cell. You can set that property to 'NextControl' to make it navigate to the next control instead.
2) You would have to derive from UltraGrid, override the IsInputKey method, and return true for that key combination, then handle KeyDown and manually process it. I believe you can then use the Form's ProcessDialogKey method to make it navigate to the next control.
This works fine (using ProcessDialogKey) but I still have the issue of what key sequence to use.
Does Infragistics UX have any guidance on this? I was going to use "Ctrl-Tab" then realized that this sequence is used by the DockManager.
Hi,
There's really no standard set of keystrokes for switching between controls on a form. At least not that I knows of.
CTRL+Tab is used by windows to switch between MDI Child forms, so you probably want to avoid using that.
I think DockManager's use of Ctrl-Tab comes from adopting Visual Studio's similar pattern.
Ctrl-Tab doesnt appear in any list of Windows shortcuts that I can find. For example, not here:
http://windows.microsoft.com/en-US/Windows7/Keyboard-shortcuts
User expect to be able to "tab out of" a grid, just as with any other control. So keeping to a modifier + Tab would seem much more appropriate than, for example, Ctrl-PageDown. I've yet to find any user that is even aware of Ctrl-Tab in ours or Visual Studio's MDI application. DockManager makes it easy to turn off the Ctrl-Tab behavior.
Well, I cannot explain Microsoft's documentation. But CTRL+Tab is a common Windows shortcut for switching the focus between MDI Child forms in an MDI application. You can see this in any MDI application, such as Microsoft Excel, Visual Studio, etc.