Wie eine WinForms Kontrolle von Hören auf die Tastatur verhindern
Frage
Für eine bestimmte Inputform, ich mag es möglich macht Eingabe mit der Tastatur zu tun. Ich weiß, wie die Schlüssel durch KeyPressed und KeyUp zu lesen, aber das Problem ist, dass, wenn ein Steuerelement den Fokus erhalten hat und der Benutzer drückt die Enter-Taste, dass die Steuerung empfängt das eine Click-Ereignis. Ist es möglich, dass das Verhalten zu verhindern? Oder ist es möglich, zu wissen, ob ein Click-Ereignis mit der Maus oder die Tastatur gefeuert wurde?
Lösung
Ist diese Hilfe? Aus Microsoft Knowledge Base
Bewegen Sie den Code der Taste aus dem button.Click () zu einem button.MouseClick ()
Andere Tipps
Dies wäre einfacher, wenn Sie die Situation und genaue Verhalten beschreiben will man ...:)
Sie können einstellen:
Form.KeyPreview = True
Dies sendet Wichtige Ereignisse auf die Form zuerst, und dann an die Steuerung. Dies gibt Ihnen die Möglichkeit Wichtige Ereignisse auf dem Formular zu fangen und ‚Abbrechen‘ sie:
e.Handled = True
Auch stellen Sie sicher, dass Sie nicht die AcceptButton für das Formular festgelegt haben!
Sie können auch für Tastaturereignisse hören und Tasten herauszufiltern.