Ich habe ein Windows-Formular, ich brauche, wenn Benutzer drücken Geben Sie setzen Sie den Fokus auf die nächste Kontrolle. Irgendeine Idee, wie man diese achtet (ohne Key Press Ereignisse zu verwenden)Ändern Fokus-Steuerelement, wenn die Eingabetaste drücken
Antwort
Sie können die KeyPreview Ihres Formulars abfangen. Set KeyPreview auf true im Konstruktor und dann können Sie verwenden, um dies:
protected override bool ProcessKeyPreview(ref Message m)
{
if (m.Msg == 0x0100 && (int)m.WParam == 13)
{
this.ProcessTabKey(true);
}
return base.ProcessKeyPreview(ref m);
}
+1: Ich habe nie dieses – horgh
Wenn Sie nicht wollen, Tastendruck-Ereignisse verwenden, werden Sie ProcessCmdKey
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Return)
{
MessageBox.Show("You pressed the Enter key");
}
return base.ProcessCmdKey(ref msg, keyData);
}
wusste nächste Kontrolle zu konzentrieren ich habe SendKeys.Send verwenden ("{ Tab}") – user1659922
Sie verwenden können, außer Kraft zu setzen haben ProcessCmdKey überprüfen, ob keyData enthält die Geben Sie Key ein und verwenden Sie dann die SelectNextControl
Methode, um Ihren Fokus festzulegen.
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData.HasFlag(Keys.Enter))
{
SelectNextControl(ActiveControl,true,true,true,true);
return true; //Stops the beeping
}
return base.ProcessCmdKey(ref msg, keyData);
}
- 1. Systemton bei TSpinEdit deaktivieren, wenn Sie die Eingabetaste drücken
- 2. erkennen Sie das Submit-Ereignis, wenn Sie die Eingabetaste drücken
- 3. So erkennen Sie die Eingabetaste Drücken Sie in vaadin TextArea
- 4. Wählen Sie die Schaltfläche, während Sie die Eingabetaste drücken
- 5. angular2 Form Validator durch Drücken der Eingabetaste
- 6. Drücken Sie die Eingabetaste, um zum nächsten Steuerelement zu wechseln
- 7. Wie AppleScript verwenden, um im Systemdruckdialogfeld die Eingabetaste zu drücken?
- 8. Jquery wählen NEXT Textfeld auf die Eingabetaste Drücken
- 9. Drücken Sie die Eingabetaste, um fortzufahren in C
- 10. erneut aktivieren Taste drücken Sie die Eingabetaste auf einem Textfeld
- 11. Angular, wie drücken Sie die Eingabetaste, um eine Funktion auszuführen?
- 12. jqGrid: Ist es möglich, einen Zellwechsel zu bestätigen, wenn Sie die Tabulatortaste drücken anstatt die Eingabetaste zu drücken?
- 13. Verlassen einer "Do While" durch Drücken einer beliebigen Taste ohne die Eingabetaste drücken?
- 14. WPF: Führen Sie eine Befehlsbindung in einem Suchfeld aus, wenn Sie die Eingabetaste drücken
- 15. Klicken Sie auf die Schaltfläche beim Drücken der Eingabetaste, wenn Sie ein Textfeld in C#
- 16. Automatisch einen Kommentarblock in Sublime fortsetzen, wenn Sie die Eingabetaste drücken?
- 17. Wie zu simulieren, in Rspec Drücken der Eingabetaste
- 18. Senden, wenn Sie die Eingabetaste auf Nummerneingabe gedrückt wird
- 19. Kendo Grid: Trigger Update Klicken Sie auf die Eingabetaste drücken Sie für die Popup-Bearbeitung
- 20. Klicken Sie auf die Bearbeitungsleiste und drücken Sie die Eingabetaste, bevor sie neu berechnet
- 21. Durch Drücken der Eingabetaste zum nächsten Textfeld in ASP.Net gehen
- 22. Problem beim Aktualisieren der Gridview-Zeile durch Drücken der Eingabetaste
- 23. Firemonkey Ton beim Drücken der Eingabetaste auf OSX
- 24. Eine Funktion auf der Eingabetaste aufrufen Drücken Sie
- 25. Knopffunktion bei Drücken ändern?
- 26. Shell-Befehl entspricht dem Drücken der Eingabetaste auf der Tastatur
- 27. Formulareinreichung beim Drücken der Eingabetaste für Text verhindern
- 28. Absenden durch Drücken der Eingabetaste in einem Windows-Formular
- 29. Wie Postback zu verhindern, während Sie die Eingabetaste aus dem HTML-Eingabetextfeld drücken?
- 30. Live-Vorlage IntelliJ-Überspringzeile beim Drücken der Eingabetaste?
Ohne das KeyPress Ereignis, das Sie nicht wissen können, dass der Benutzer die Taste –
Enter gedrückt, was etwa ProcessCmdKey Ereignis – user1659922