Ich möchte den Fokus meiner Winform-Anwendung steuern. Es besteht aus einer benutzerdefinierten Listbox und mehreren anderen Komponenten. Ich möchte, dass alle Tastaturereignisse von meinen Fensterhandlern verwaltet werden, um eine bestimmte Steuerungstastenbehandlung zu vermeiden (wenn ich beispielsweise ein Zeichen drücke und das Listenfeld fokussiert, wird das mit dem entsprechenden Buchstaben beginnende Element ausgewählt, das nicht korrekt ist Verhalten für meine Bewerbung). Wie kann ich das erreichen?Winform Tastaturverwaltung
2
A
Antwort
4
Stellen Sie sicher, dass die KeyPreview-Eigenschaft Ihres Formulars auf True festgelegt ist. Dann sollten Sie diesen Code arbeiten für Ihre wichtigsten Ereignisse in das Listenfeld Cancelling ...
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (this.ActiveControl == listBox1)
e.Handled = true;
}
Das KeyPress-Ereignis nicht für alle Szenarien können funktionieren. In diesem Fall würde ich das KeyDown-Ereignis ausprobieren.
Verwandte Themen
- 1. "x" Minimieren WinForm, ContextMenu WinForm zu schließen?
- 2. WPF-Anwendung, die WinForm-Steuerelemente und WinForm-Benutzersteuerelemente einbetten
- 3. Allgemeinbasisklasse für WinForm Usercontrol
- 4. Drag-in WinForm Problem
- 5. C# Generics und Winform
- 6. winform friendly Klassenname
- 7. Winform nicht vollständig entsorgen
- 8. C# Custom Control winform
- 9. Clone Winform Steuerelement
- 10. Sichtbarer Bereich von Winform
- 11. Plugins in winform Anwendung
- 12. Flackern auf winform UI
- 13. .NET Winform Tastatursteuerung
- 14. Winform und Threading (C#)
- 15. machen winform Schalter Tabs
- 16. WinForm DataGridView Multi-Line
- 17. C# winform Ladebildschirm
- 18. Winform erscheint zweimal
- 19. Winform TabControl Stil
- 20. WYSIWYG Control für Winform
- 21. WinForm-Benutzersteuerelemente - Drag Drop
- 22. Winform Formular geschlossen Ereignis
- 23. C# Winform Steuerelement Zugriffsmodifizierer
- 24. C# WinForm - Ladebildschirm
- 25. WinForm: mehrere Tasten gedrückt
- 26. Winform schließt nicht Warum?
- 27. Wie WinForm DataBinding testen?
- 28. Winform/visuelles Element drucken
- 29. Winform-Stammverzeichnispfad.Wie wieder!
- 30. C# app.config in winform
Wird e.Handled auf "True" gesetzt, wird der Tastendruck verworfen? –
Ja. Im Grunde sagen Sie dem Ereignis, dass Sie das Schlüsselereignis behandelt haben, und Sie möchten nicht, dass es damit etwas zu tun hat. – codeConcussion
In der Tat habe ich KeyDown verwendet, die beiden folgenden Fall behandeln: - Bei der Eingabe von Zeichen sind die Listenelemente nicht ausgewählt. - Wenn Sie den Pfeil nach oben/unten drücken, ändert sich die Auswahl der Listenelemente nicht. Bitte bearbeiten Sie Ihre Antwort, damit ich sie als akzeptiert markieren kann. –