New to Telerik UI for WPFStart a free 30-day trial

Keyboard Support

Updated on Sep 15, 2025

By default, RadSpreadSheet supports keyboard shortcuts that allow you to perform various operations without touching the mouse. The bellow tables list all supported shortcuts.

List of keys handled by RadSpreadSheet

KeyAction
LeftMove to previous column
RightMove to next column
UpMove to previous row
DownMove to next row
HomeMove to Row start
EndMove to row end
TabMove to next column
Shift + TabMove to previous columns
EnterMove to next row
Shift + EnterMove to previous row
Ctrl + PageDownSwitch sheets to right
Ctrl + PageUpSwitch sheets to left
Ctrl + SpaceSelect all cells
Shift + SpaceSelect the entire row
Ctrl + Shift + *Select the current region
PageDownMove one screen down
PageUpMove one screen up
Shift + PageDownMove one screen down and select from current cell
Shift + PageUpMove one screen up and select from current cell
Ctrl + ASelect All
Ctrl + Shift + SpaceSelect All
Ctrl + Shift + HomeSelects from current to the first cell
Alt + PageDownMove one screen to the right
Alt + Shift + PageDownMove one screen to the right
Alt + PageUpMove one screen to the left
Alt + Shift + PageUpMove one screen to the left
Ctrl + EndMoves to used cell range end

Document

Key CombinationAction
Ctrl + NNew document
Ctrl + OOpen file
Ctrl + SSave current document
F12Save file
Shift + F11Inserts new sheet
Ctrl + F11Inserts new sheet
F11Inserts new sheet
Ctrl + ZUndo
Ctrl + YRedo
Ctrl + KShow hyperlink dialog
Ctrl + DFill Down (Copies the contents of the previous cell)
DeleteClears the contents of the cell
BackClears the contents of the cell
Ctrl + "-"Remove the selected cells
Ctrl + "+"Insert new cells depending on the selection
Ctrl + BToggle Bold
Ctrl + IToggle Italic
Ctrl + UToggle Underline
F2Activate edit mode
Ctrl + Alt + PPrint
Ctrl + FOpen the Find dialog
Ctrl + HOpen the Replace Dialog
Ctrl + XCut
Ctrl + CCopy
Ctrl + VPaste
Ctrl + InsertCopy
Shift + InsertPaste

Customize Keyboard Shortcuts

The above shortcuts can be customized. To change a shortcut you need to register it using the RegisterCommand method. For example you can change the behavior of the Enter key and make it go to next column instead of the next row. If the ActiveWorksheetEditor is changed you will need to register the command again. This is why it would be better to use the ActiveSheetEditorChanged event for this.

C# Example 1: Change the behavior of the Enter key

C#

    private void RadSpreadsheet_ActiveSheetEditorChanged(object sender, EventArgs e)
    {
        RadWorksheetEditor worksheetEditor = this.radSpreadsheet.ActiveWorksheetEditor;

        if (this.radSpreadsheet.ActiveWorksheetEditor != null)
        {
            worksheetEditor.KeyBindings.RegisterCommand(worksheetEditor.Commands.UpdateActiveSelectionRangeCommand, Key.Enter, ModifierKeys.None, MovementType.MoveToNextColumn);
        }
    }
   

Please note that the above code will override the default enter command.

Registering a Custom Command

It is possible to register a shortcut that executes a custom command. All you need to do is pass the command when registering the shortcut.

C# Example 2: Associate a custom command with a shortcut

C#

    private void RadSpreadsheet_ActiveSheetEditorChanged(object sender, EventArgs e)
    {   
        RadWorksheetEditor worksheetEditor = this.radSpreadsheet.ActiveWorksheetEditor;
        if (worksheetEditor != null)
        {
            ICommand customPasteCommand = new DelegateCommand((parameter) =>
                {
                    MessageBox.Show("Custom paste command is executed!");
                });
            worksheetEditor.KeyBindings.RegisterCommand(customPasteCommand, Key.V, ModifierKeys.Control, PasteType.Values);
        }
    }

Disable a Command

To disable a specific shortcut you can register the same key combination and pass an empty command.

C# Example 3: Disable a specific command

C#

    private void RadSpreadsheet_ActiveSheetEditorChanged(object sender, EventArgs e)
    {   
        RadWorksheetEditor worksheetEditor = this.radSpreadsheet.ActiveWorksheetEditor;
        if (worksheetEditor != null)
        {           
            worksheetEditor.KeyBindings.RegisterCommand(new DelegateCommand((p) => { }), Key.V, ModifierKeys.Control, PasteType.Values);
        }
    }