Hallo,
ich habe in meinem Form eine TextBox, eineListbox und einen Hinzufügen-Button, mit dem ich die Elemente, die ich in die TextBox eingegeben habe der ListBox hinzufügen kann. Ich möchte nun erreichen, dass dies auch geschieht, wenn ich nach dem Eingeben eines Strings in die TextBox die Return-Taste betätige. Dazu enthält mein Form folgenden Code. Das Problem ist, dass beim Betätigen der Return-Taste der String aus der TextBox der ListBox nicht nur einmal hinzugefügt wird, sondern je nach dem wie lange ich die Return-Taste gedrückt halte, auch mehr mals. Wie kann ich das unterbinden?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| private void textBox_TextChanged(object sender, EventArgs e) { this.textBox.KeyDown += new KeyEventHandler(this.onEnterPressed); }
private void onEnterPressed(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Return) { addButton.PerformClick(); e.Handled = true; } }
private void addButton_Click(object sender, EventArgs e) { listBoxForFunctionNames.Items.Add(textBox.Text); } |
Moderiert von
Christian S.: C#-Tags hinzugefügt