Heim Backend-Entwicklung C#.Net-Tutorial Zwei Möglichkeiten, den Fokus eines Steuerelements zwischen den Pfeiltasten und der Eingabetaste in C# zu wechseln

Zwei Möglichkeiten, den Fokus eines Steuerelements zwischen den Pfeiltasten und der Eingabetaste in C# zu wechseln

Jun 23, 2017 pm 04:24 PM
.net 切换 Eingeben 控件 Richtung 焦点

Umgebung: Auf der Benutzeroberfläche befinden sich TextBox, ComboBox und andere Steuerelemente.

Es wird nicht empfohlen, zum Wechseln des Fokus sowohl die linke als auch die rechte Pfeiltaste zu verwenden, da es sonst für Sie unpraktisch wäre, die Zeichenposition des Cursors in der TextBox zu ändern.

Methode 1: Dumme Methode, die Ereignisverarbeitung muss für jedes Steuerelement separat registriert werden

Nehmen Sie TextBox als Beispiel, der Code lautet wie folgt:

 1 private void textbox_KeyDown(object sender, KeyEventArgs e)         
 2 {             
 3     if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Enter)             
 4     {                 
 5         e.SuppressKeyPress = true;                 
 6         System.Windows.Forms.SendKeys.Send("{Tab}");             
 7     }             
 8     else if (e.KeyCode == Keys.Up)             
 9     {                 
10         e.SuppressKeyPress = true;                 
11         System.Windows.Forms.SendKeys.Send("+{Tab}");             
12     }         
13 }
Nach dem Login kopieren

Methode 2: Einfache Methode, keine Notwendigkeit, die Ereignisverarbeitung für jedes Steuerelement separat zu registrieren, fügen Sie einfach den folgenden Code zur Formularklasse hinzu:

 1 //上、下方向键,及回车键切换控件焦点 2 protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 3 { 4     Keys key = (keyData & Keys.KeyCode); 5     if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Enter)             
 6     {                                  
 7       System.Windows.Forms.SendKeys.Send("{Tab}"); 
 8       return true;            
 9     }             
10     else if (e.KeyCode == Keys.Up)             
11     {                                  
12       System.Windows.Forms.SendKeys.Send("+{Tab}");13       return true;             
14     }   
15     return base.ProcessCmdKey(ref msg, keyData);16 }
Nach dem Login kopieren

Zu diesem Zeitpunkt wurde die Funktion zum Wechseln des Steuerelementfokus implementiert. Es gibt zwei ComboBox-Steuerelemente, cmbMeas und cmbRemark Was soll ich tun, anstatt den Fokus zu wechseln? Dann müssen Sie feststellen, ob das Steuerelement, das derzeit den Fokus hat, cmbMeas oder cmbRemark ist. Der spezifische Code lautet wie folgt:

 1 //API声明:获取当前焦点控件句柄       2 [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Winapi)] 3 internal static extern IntPtr GetFocus(); 4  5 //获取当前拥有焦点的控件 6 private Control GetFocusedControl() 7 { 8      Control focusedControl = null; 9      // To get hold of the focused control:10      IntPtr focusedHandle = GetFocus();11      if (focusedHandle != IntPtr.Zero)12          //focusedControl = Control.FromHandle(focusedHandle);13          focusedControl = Control.FromChildHandle(focusedHandle);14      return focusedControl ;15  }16 17 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)18 {19     Keys key = (keyData & Keys.KeyCode);20     Control ctrl = GetFocusedControl();21     if (e.KeyCode == Keys.Down || (key == Keys.Enter && ctrl.Name != "cmbMeas" && ctrl.Name != "cmbRemark"))             
22     {                                  
23         System.Windows.Forms.SendKeys.Send("{Tab}"); 
24         return true;            
25     }             
26     else if (e.KeyCode == Keys.Up)             
27     {                                  
28         System.Windows.Forms.SendKeys.Send("+{Tab}");29         return true;             
30     }   
31     return base.ProcessCmdKey(ref msg, keyData);32 }
Nach dem Login kopieren

Anweisungen:

Control.FromHandle-Methode

gibt das aktuell mit dem angegebenen Handle verknüpfte Steuerelement zurück. Wenn kein Steuerelement mit dem angegebenen Handle gefunden wird, wird ein Nullverweis zurückgegeben.

Control.FromChildHandle-Methode

Wenn Sie ein Steuerelement mit mehreren Handles zurückgeben müssen, sollten Sie die Methode FromChildHandle verwenden.

Diese Methode durchsucht die übergeordnete Kette des Fensterhandles, bis sie das mit dem Steuerelement verknüpfte Handle findet. Diese Methode ist zuverlässiger als die Methode FromHandle, da sie Steuerelemente mit mehreren Handles korrekt zurückgibt.

Für benutzerdefinierte Steuerelemente sollte die FromChildHandle-Methode verwendet werden.

Das obige ist der detaillierte Inhalt vonZwei Möglichkeiten, den Fokus eines Steuerelements zwischen den Pfeiltasten und der Eingabetaste in C# zu wechseln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie wechsle ich beim Xiaomi 14Ultra zwischen 4g und 5g? Wie wechsle ich beim Xiaomi 14Ultra zwischen 4g und 5g? Feb 23, 2024 am 11:49 AM

Xiaomi 14Ultra ist eines der beliebtesten Xiaomi-Modelle in diesem Jahr. Xiaomi 14Ultra verbessert nicht nur den Prozessor und verschiedene Konfigurationen, sondern bringt den Benutzern auch viele neue funktionale Anwendungen beliebt, aber es gibt einige häufig verwendete Funktionen, die Sie vielleicht noch nicht kennen. Wie wechselt das Xiaomi 14Ultra zwischen 4g und 5g? Lassen Sie mich Ihnen unten den spezifischen Inhalt vorstellen! Wie wechsle ich beim Xiaomi 14Ultra zwischen 4g und 5g? 1. Öffnen Sie das Einstellungsmenü Ihres Telefons. 2. Suchen Sie im Einstellungsmenü nach den Optionen „Netzwerk“ und „Mobiles Netzwerk“ und wählen Sie sie aus. 3. In den Mobilfunknetzeinstellungen sehen Sie die Option „Bevorzugter Netztyp“. 4. Klicken oder wählen Sie diese Option und Sie werden sehen

Bedienungs-Tutorial für den Wechsel von der Win11-Home-Version zur Professional-Version_Bedienungs-Tutorial für den Wechsel von der Win11-Home-Version zur Professional-Version Bedienungs-Tutorial für den Wechsel von der Win11-Home-Version zur Professional-Version_Bedienungs-Tutorial für den Wechsel von der Win11-Home-Version zur Professional-Version Mar 20, 2024 pm 01:58 PM

Wie konvertiert man Win11 Home Edition in Win11 Professional Edition? Im Win11-System ist es in Home Edition, Professional Edition, Enterprise Edition usw. unterteilt, und auf den meisten Win11-Notebooks ist das Win11 Home Edition-System vorinstalliert. Heute zeigt Ihnen der Editor die Schritte zum Wechsel von der Win11-Home-Version zur Professional-Version 1. Klicken Sie zunächst mit der rechten Maustaste auf diesen Computer auf dem Win11-Desktop und den Eigenschaften. 2. Klicken Sie auf Produktschlüssel ändern oder Windows aktualisieren. 3. Klicken Sie dann nach der Eingabe auf Produktschlüssel ändern. 4. Geben Sie den Aktivierungsschlüssel ein: 8G7XN-V7YWC-W8RPC-V73KB-YWRDB und wählen Sie Weiter. 5. Dann wird der Erfolg angezeigt, sodass Sie die Win11-Home-Version auf die Win11-Professional-Version aktualisieren können.

So implementieren Sie die Dual-System-Umschaltung im Win10-System So implementieren Sie die Dual-System-Umschaltung im Win10-System Jan 03, 2024 pm 05:41 PM

Viele Freunde sind möglicherweise nicht an das Win-System gewöhnt, wenn sie zum ersten Mal damit in Berührung kommen. Es gibt duale Systeme im Computer. Schauen wir uns nun die detaillierten Schritte zum Wechseln an zwischen den beiden Systemen. So wechseln Sie zwischen zwei Systemen im Win10-System 1. Umschalten der Tastenkombination 1. Drücken Sie die Tasten „win“ + „R“, um „Ausführen“ zu öffnen. 2. Geben Sie „msconfig“ in das Feld „Ausführen“ ein und klicken Sie auf „OK“. 3. Im geöffneten Fenster „ „Systemkonfiguration“ Wählen Sie in der Benutzeroberfläche das gewünschte System aus und klicken Sie auf „Als Standard festlegen“. Nach Abschluss kann „Neustart“ den Wechsel abschließen. Methode 2. Schalter beim Booten auswählen 1. Wenn Sie über duale Systeme verfügen, steht Ihnen eine Auswahloperationsschnittstelle zur Verfügung wird beim Booten angezeigt. Sie können die Auf- und Ab-Tasten der Tastatur verwenden, um das System auszuwählen

Wechseln Sie den Dual-System-Startmodus des Apple-Computers Wechseln Sie den Dual-System-Startmodus des Apple-Computers Feb 19, 2024 pm 06:50 PM

So wechseln Sie beim Start zwischen Apple-Dual-Systemen Als leistungsstarkes Gerät können Apple-Computer zusätzlich zu ihrem eigenen macOS-Betriebssystem auch andere Betriebssysteme wie Windows installieren, um einen Dual-System-Wechsel zu erreichen. Wie wechseln wir also beim Booten zwischen den beiden Systemen? In diesem Artikel erfahren Sie, wie Sie auf Apple-Computern zwischen Dual-Systemen wechseln. Bevor wir Dual-Systeme installieren, müssen wir zunächst bestätigen, ob unser Apple-Computer Dual-System-Switching unterstützt. Im Allgemeinen basieren Apple-Computer auf

So verwenden Sie Tastenkombinationen zum Wechseln von Arbeitsmappen in Excel So verwenden Sie Tastenkombinationen zum Wechseln von Arbeitsmappen in Excel Mar 20, 2024 pm 01:50 PM

Bei der Anwendung von Excel-Software sind wir es gewohnt, Tastenkombinationen zu verwenden, um einige Vorgänge einfacher und schneller zu machen. Wenn wir sie anzeigen, müssen wir ständig zwischen Aufgaben wechseln Durch die schnellere Umschaltmethode wird viel Zeit beim Umschalten eingespart, was erheblich zur Verbesserung der Arbeitseffizienz beiträgt. Um dieses Problem zu lösen, wird der Redakteur heute darüber sprechen : So verwenden Sie die Tastenkombinationen zum Wechseln von Arbeitsmappen in Excel. 1. Zuerst sehen Sie unten in der geöffneten Excel-Tabelle mehrere Arbeitsmappen. Sie müssen schnell zwischen verschiedenen Arbeitsmappen wechseln, wie in der Abbildung unten gezeigt. 2. Drücken Sie dann die Strg-Taste auf der Tastatur, ohne sie zu bewegen, und wählen Sie bei Bedarf den Job rechts aus

Wie sind die Berufsaussichten von C#? Wie sind die Berufsaussichten von C#? Oct 19, 2023 am 11:02 AM

Ganz gleich, ob Sie Anfänger oder erfahrener Profi sind: Die Beherrschung von C# ebnet den Weg für Ihre Karriere.

So lesen Sie den Wagenrücklauf in Java So lesen Sie den Wagenrücklauf in Java Mar 22, 2024 pm 04:57 PM

In Java wird ein Wagenrücklauf normalerweise durch ein Zeilenumbruchzeichen dargestellt. In Windows-Systemen wird „\r\n“ zur Darstellung von Wagenrücklauf und Zeilenvorschub verwendet, während in Unix/Linux-Systemen „\n“ verwendet wird. Beim Lesen von Text, der Wagenrückläufe enthält, behandelt Java diese Zeichen als normale Zeichen. Sie können die Klassen BufferedReader oder Scanner verwenden, um Text aus einem Eingabestream zu lesen, bis ein Wagenrücklauf oder ein Zeilenvorschub auftritt.

Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks Teilen Sie mehrere .NET-Open-Source-KI- und LLM-bezogene Projekt-Frameworks May 06, 2024 pm 04:43 PM

Die Entwicklung von Technologien der künstlichen Intelligenz (KI) ist heute in vollem Gange und sie haben in verschiedenen Bereichen großes Potenzial und Einfluss gezeigt. Heute wird Dayao Ihnen 4 .NET Open-Source-KI-Modell-LLM-bezogene Projekt-Frameworks vorstellen und hofft, Ihnen einige Referenzen zu geben. https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel ist ein Open-Source-Softwareentwicklungskit (SDK), das für die Integration großer Sprachmodelle (LLM) wie OpenAI und Azure entwickelt wurde

See all articles