Category / Section
How to switch tabPages through accelerator keys and it should switch only when the keys are combined with 'Alt' key in WinForms TabControlAdv?
1 min read
Switch tabpages through accelerator keys
You could use KeyDown event to check whether Alt key is pressed and handle TabControlAdv's SelectedIndexChanging event to cancel the switching operation if Alt key is not pressed.
C#
private void tabControlAdv1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if(e.Alt == false) { this.tabControlAdv1.SelectedIndexChanging += new Syncfusion.Windows.Forms.Tools.SelectedIndexChangingEventHandler(tabControlAdv1_SelectedIndexChanging); } else if(e.Alt == true) { this.tabControlAdv1.SelectedIndexChanging +=new Syncfusion.Windows.Forms.Tools.SelectedIndexChangingEventHandler(tabControlAdv1_SelectedIndexChanging_1); } } private void tabControlAdv1_SelectedIndexChanging(object sender, Syncfusion.Windows.Forms.Tools.SelectedIndexChangingEventArgs args) { args.Cancel = true; } private void tabControlAdv1_SelectedIndexChanging_1(object sender, Syncfusion.Windows.Forms.Tools.SelectedIndexChangingEventArgs args) { args.Cancel = false; }
VB
Private Sub tabControlAdv1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tabControlAdv1.KeyDown If e.Alt = False Then AddHandler tabControlAdv1.SelectedIndexChanging, AddressOf tabControlAdv1_SelectedIndexChanging Else If e.Alt = True Then AddHandler tabControlAdv1.SelectedIndexChanging, AddressOf tabControlAdv1_SelectedIndexChanging_1 End If End Sub Private Sub tabControlAdv1_SelectedIndexChanging(ByVal sender As Object, ByVal args As Syncfusion.Windows.Forms.Tools.SelectedIndexChangingEventArgs) args.Cancel = True End Sub Private Sub tabControlAdv1_SelectedIndexChanging_1(ByVal sender As Object, ByVal args As Syncfusion.Windows.Forms.Tools.SelectedIndexChangingEventArgs) args.Cancel = False End Sub