Wir wissen, dass es in einigen Programmen einige Tastenkombinationen gibt (z. B. Umschalttaste zum Minimieren, ESC-Taste zum Beenden, Strg+S zum Speichern, Alt+x zum Beenden usw.). Es gab in der Vergangenheit einige Einführungen, dass dies mit der Win32-API möglich ist, aber es ist zu umständlich. Tatsächlich hat uns VB selbst diese Funktion bereits zur Verfügung gestellt.
Lassen Sie uns ein neues Formular Form1 erstellen. Für Tastaturoperationen können wir drei Ereignisse sehen: KeyPress(), KeyDown und KeyUp.
Das KeyPress()-Ereignis tritt auf, wenn der Benutzer eine ANSI-Taste drückt und wieder loslässt (ANSI sind die sichtbaren ASCII-Zeichen 1-127).
Grammatik
Teilbeschreibung
Objekt ist ein Objektausdruck, dessen Wert auf ein Objekt in der Liste „angewendet“ wird.
Index ist eine Ganzzahl, die ein Steuerelement im Steuerelement-Array eindeutig identifiziert (nur für Steuerelement-Arrays verfügbar).
keyascii ist eine Ganzzahl, die einen standardmäßigen numerischen ANSI-Tastencode zurückgibt. Keyascii übergibt ein Objekt als Referenz und ermöglicht so Änderungen daran.
Senden Sie einen anderen Charakter. Durch Ändern von keyascii auf 0 wird der Tastendruck abgebrochen, sodass das Objekt keine Zeichen empfängt.
veranschaulichen
Das Objekt mit Fokus empfängt dieses Ereignis. Ein Formular kann dieses Ereignis nur empfangen, wenn die KeyPreview-Eigenschaft auf True gesetzt ist. Ein KeyPress-Ereignis kann auf jedes druckbare Tastaturzeichen, ein Zeichen aus dem Standardalphabet oder eines von einigen Sonderzeichen in Kombination mit der STRG-Taste und der ENTER- oder BACKSPACE-Taste verweisen. Die Ereignisprozedur KeyPress() ist nützlich, wenn in einem TextBox- oder ComboBox-Steuerelement eingegebene Tastenanschläge abgefangen werden sollen. Es kann sofort die Gültigkeit von Tastenanschlägen oder Formatzeichen testen, während diese eingegeben werden. Wenn Sie den Wert des Parameters keyascii ändern, ändern sich die angezeigten Zeichen.
Sie können den folgenden Ausdruck verwenden, um den Parameter keyascii in ein Zeichen umzuwandeln:
veranschaulichen
Bei beiden Ereignissen erhält das fokussierte Objekt alle Tastenanschläge. Ein Formular kann nur dann den Fokus erlangen, wenn es über keine sichtbaren und gültigen Steuerelemente verfügt. Obwohl die Ereignisse KeyDown() und KeyUp() auf die meisten Tasten angewendet werden können, werden sie am häufigsten auf Folgendes angewendet: erweiterte Zeichentasten wie Funktionstasten, Navigationstasten, Tastaturmodifikatortasten und Tastenkombinationen, die numerische Tastaturen von normalen Zahlentasten unterscheiden; Wenn Sie sowohl auf das Drücken als auch auf das Loslassen einer Taste reagieren müssen, können Sie die Ereignisprozeduren KeyDown und KeyUp verwenden.
In den folgenden Situationen kann nicht auf die Ereignisse KeyDown und KeyUp verwiesen werden: Das Formular verfügt über ein CommandButton-Steuerelement und die EINGABETASTE, wenn die Default-Eigenschaft auf True festgelegt ist. Das Formular verfügt über ein CommandButton-Steuerelement, und wenn die Eigenschaft „Abbrechen“ auf „True“ festgelegt ist, verwenden die ESC-Taste, die TAB-Taste, KeyDown und KeyUp zwei Parameter, um die Groß- und Kleinschreibung jedes Zeichens zu interpretieren: keycode – zeigt die physische Taste an (ersetzen Sie A und a Gibt als dieselbe Taste zurück) und Umschalt zeigt den Status der Umschalt+Taste an und gibt entweder A oder a zurück.
Wenn Sie den Verschiebungsparameter testen müssen, können Sie die im Parameter definierte Verschiebungskonstante verwenden. Diese Konstante hat die folgenden Werte:
Beschreibung des konstanten Werts
vbShiftMask 1 HIFT-Tastenbit
Schild.
VbCtrlMask 2 STRG-Taste
Bitmaske.
VbAltMask 4 ALT-Schlüsselbits
Schild.
Diese Konstante fungiert als Bitmaske, mit der beliebige Tastenkombinationen getestet werden können.
Hinweis: Wenn die KeyPreview-Eigenschaft auf True gesetzt ist, empfängt ein Formular dieses Ereignis vor den Steuerelementen im Formular. Mit der Eigenschaft „KeyPreview“ können Sie globale Routinen für die Tastaturverarbeitung erstellen.
Mit den oben genannten Kenntnissen können wir ein perfektes Programm mit Tastenkombinationen erstellen. In einem Programm müssen wir beispielsweise Strg+S zum Speichern, Umschalttaste zum Minimieren, Alt+X und ESC zum Beenden verwenden:
Starten Sie zunächst VB und wählen Sie eine neue EXE-Datei aus, ziehen Sie eine TextBox auf das Form1-Formular und setzen Sie die KeyPreview-Eigenschaft von Form1 auf True, doppelklicken Sie auf Form1, wählen Sie das KeyPress-Ereignis des Formulars aus und geben Sie den folgenden Code ein: