Nicht in der Lage zu erfassen Enter-Taste in WinForms Textfeld
Wenn der Benutzer durch Eingabe einer Zahl in einem Textfeld, ich möchte, dass Sie in der Lage sein, um drücken Sie die EINGABETASTE, und simulieren Sie das drücken der Schaltfläche Aktualisieren an anderer Stelle auf dem Formular. Ich habe mir diese bis mehrere Orte online, und dies scheint der code, den ich will, aber es funktioniert nicht. Wenn die Daten in der text-box und die EINGABETASTE gedrückt wird, alles, was ich bekommen ist ein ding. Was mache ich falsch? (Visual Studio 2008)
private void tbxMod_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
btnMod.PerformClick();
}
}
- Probieren Sie diese Lösung...es funktioniert.... private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Button gedrückt"); } private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (- e.KeyChar=='\r') { button1.PerformClick(); } } Hier der code, der erlauben wird, drücken Sie die-Taste, wenn Sie drücken Sie enter in der textbox....check it out....
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie sicher, dass das klicken auf den button wird nicht durchgeführt ? Ich habe gerade einen test, es funktioniert gut für mich. Und hier ist der Weg, um zu verhindern, dass das "ding" sound :
Ein paar Gedanken:
Form
), die möglicherweise stehlen retUnter "Eigenschaften" des Formulars. Kategorie (Sonstiges) hat die folgenden Optionen:
AcceptButton, CancelButton, KeyPreview -, & ToolTip.
Einstellung der AcceptButton auf den Knopf geklickt haben, wenn Sie die Taste Enter - Taste sollte den trick tun.
Set
e.Handled
zutrue
unmittelbar nach der ZeilebtnMod.PerformClick();
.Hoffe, das hilft.
Musste ich kombinieren, Thomas' Antwort und Marc. Ich habe eine
AcceptButton
legen Sie auf das Formular, so hatte ich all dies zu tun:Ich verwendet t0mm13b ist
e.Handled
, obwohl Thomas'e.SuppressKeyPress
scheint zu funktionieren, wie gut. Ich bin mir nicht sicher, was der Unterschied sein könnte.form Eigenschaften - > Einstellung KeyPreview auf true
Einfachen code unten funktioniert ganz gut (schlagen Sie die Enter-Taste, während in textBoxPlatypusNumber zeigt "UpdatePlatypusGrid() eingegeben"); die form KeyPreview ist false: