The Spread component builds its keystroke processing on top of the underlying Windows keystroke processing.
The System.Windows.Forms.Control class provides the following methods and events for processing keystrokes that occur while the component has focus:
- IsInputKey method
- IsInputChar method
- OnKeyDown method
- OnKeyPress method
- OnKeyUp method
- KeyDown event
- KeyPress event
- KeyUp event
The System.Windows.Forms.Control class provides the following methods for processing keystrokes that occur while the component or one of its child controls has focus:
- ProcessDialogKey
- ProcessDialogChar
In addition to the methods and events in the .NET Framework that handle keyboard input, the Spread component provides input maps, as described in Default Keyboard Maps. Input maps provide a table-based description of the keyboard behavior for an Spread component. This allows the application to query the keyboard behavior for an Spread component. An input map is essentially a collection of keystrokes and related actions.
The Spread component provides a WhenFocused input map for processing keystrokes that occur while the component has focus. The WhenFocused input map is used to implement the FpSpread class IsInputKey, IsInputChar, OnKeyDown, OnKeyPress, and OnKeyUp methods which in turn raise the KeyDown, KeyPress, and KeyUp events.
The Spread component provides a WhenAncestorOfFocused input map for processing keystrokes that occur while the component or one of its child controls has focus. The WhenAncestorOfFocused input map is used to implement the FpSpread class's ProcessDialogKey and ProcessDialogChar methods. These methods do not raise any events. Most keystrokes processed by the Spread component must be processed whether the component or one of its child controls have focus, which means that most of the Spread keyboard behavior is described in the WhenAncestorOfFocus input map.
Note: When keystrokes are processed by the ProcessDialogKey and ProcessDialogChar methods, no events are raised. This is true of most other grid-like components, including the Microsoft DataGrid.
The Spread component has multiple operation modes (Normal, ReadOnly, RowMode, SingleSelect, MultiSelect, ExtendedSelect). Each operation mode requires different keyboard behavior. Therefore, the Spread component has separate WhenFocused and WhenAncestorOfFocused input maps for each operation mode, as listed in the topic Default Keyboard Maps. For more discussion of these, refer to Factors of Keyboard Map Usage.
The predefined actions available for the Spread component are in the SpreadActions class. For a complete list of actions (including actions that do not have default keys), refer to the SpreadActions class.
Note that if you want to turn off one of the default map keystroke settings, you can set the keystroke to the None member of the SpreadActions class.
For more information about the programming interface for inputs and actions and maps, refer to these classes:
- Action class
- ActionMap class
- InputMap class
- KeyStroke class
- SpreadActions class
Return to the overview of Managing Keyboard Interaction.