Ctrl + PageUp/PageDown and Ctrl + Tab are default shortcuts for the TabControl. They help in moving between adjacent tabs. I would like Ctrl + PageX behaviour to work only for the outer tabs (tab1, tab2) and Ctrl + Tab behaviour for the inner tabs (tab3, tab4) when my focus is in the control (textbox here). For this, I need to disable the default behaviour. Is there some way to do this?
I looked at ProcessDialogKey and IsInputKey, but they seem to work only with single keydata. Modifiers are not handled.
Best Answer
TabControl
has unusual keyboard shortcut processing, they are reflected to theOnKeyDown()
method. This was done to avoid it disturbing the keyboard handling for the controls on a tab page.You'll have to override the method. Add a new class to your project and paste the code shown below. Compile. Drop the new control from the top of the toolbox onto your
Form
.