Ein Menüsystem ist jedoch möglicherweise nicht für jedes Formular geeignet. Wenn das der Fall ist, musst du etwas mehr arbeiten. Grundsätzlich müssen Sie die -Eigenschaft des Formulars, das Ihre TabControl
hostet, auf True festlegen und die Tastenkombinationen ermitteln, die Sie zum Wechseln der Registerkarten verwenden möchten.
Durch Festlegen der KeyPreview
property eines Formulars kann dieses Formular Schlüsselereignisse empfangen, bevor diese Ereignisse an das Steuerelement weitergeleitet werden, das den Fokus hat. Dies ist wichtig, damit diese Methode funktioniert, da andernfalls Ihr Code in der Ereignisbehandlungsroutine KeyDown
des Benutzers die Tastatureingaben nicht erkennt, die Sie abfangen möchten. Erst wenn das Formular die Verarbeitung abgeschlossen hat, wird jeder Tastendruck an das Steuerelement übergeben, das sie normalerweise empfangen würde.
Nachdem Sie diese Eigenschaft festgelegt haben, müssen Sie dem Handler für die KeyDown
event Ihres Formulars Code hinzufügen, der nach den Tastenkombinationen sucht, die Sie verwenden möchten, und dann die Registerkarten entsprechend umschaltet, wenn einer dieser Tasten erkannt wird wird gedrückt. Ansonsten müssen Sie nichts tun.
Zum Beispiel, wenn Sie haben drei TabPages
auf dem Formular, können Sie entscheiden, dass F2 auf den ersten Registerkarte wechseln, F3 wird mit dem zweiten Schalter und F4 schaltet auf den dritten (obgleich natürlich könnten Sie die Tasten verwenden, die Sie wollten. Sie würden den folgenden Code in das Formular des KeyDown
Ereignishandler dann hinzufügen, die diese Schlüssel erkennt niedergedrückt und wirkt dementsprechend:
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.F2
'Switch to the first tab page
MyTabControl.SelectedIndex = 0
Case Keys.F3
'Switch to the second tab page
MyTabControl.SelectedIndex = 1
Case Keys.F4
'Switch to the third tab page
MyTabControl.SelectedIndex = 2
End Select
End Sub
Windows Forms App? ASP.NET? WPF? Third-Party-Bibliothek von Steuerelementen? –
Windows Form App mit VB im Code dahinter. – chama
Warum ist das noch nicht geschlossen? Brauchen Sie sonst noch etwas? –