Entwickler-Ecke
WinForms - String aus einer TextBox einer ListBox hinzufügen
stugi82 - So 06.07.08 11:45
Titel: String aus einer TextBox einer ListBox hinzufügen
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
Christian S. - So 06.07.08 11:54
Ich würde die TextBox nach dem Hinzufügen leeren und vorm Hinzufügen prüfen, ob ein leerer String hinzugefügt wird.
Wieso weist Du das onEnterPresser-Ereignis bei jeder Änderung des Textes neu zu? Wieso richtet Du es nicht einfach einmalig im Formdesigner ein?
stugi82 - So 06.07.08 19:47
Ja, das ist natürlich eine Möglichkeit. Danke! Dachte vielleicht gibt es auch eine "entprellte" Variante eines Key-Events.
Das onEnterPresser-Ereignis gehört da natürlich nicht hin. Das war nur zu Testen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!