Entwickler-Ecke
Basistechnologien - Textboxen Variabelen zuordnen
cinos - Sa 11.12.10 12:03
Titel: Textboxen Variabelen zuordnen
Hallo,
erst mal: Hallo an alle ;) Super Forum hier :)
So. Jetzt zu meinem Problem:
Entweder bin ich zu dumm oder hab ein Brett vorm Kopf:
Ich habe 242 TextBoxen. Jede TextBox soll einer String Variabel zugeordnet werden. Ein bisschen schwer zu erklären... Wenn ich die Variabele ändere, soll sich der Text in der TextBox ändern. Wenn ich aber die TextBox änder soll sich die Variabele ändern. Wie lös ich das am besten?
Lg cinos
Ps: Ich bin blutiger Anfänger. Also nehmt mich bitte nicht gleich auseinander :)
jaenicke - Sa 11.12.10 13:07
Hallo und :welcome:
cinos hat folgendes geschrieben : |
| Ich habe 242 TextBoxen. |
Das ist ja schon einmal das Hauptproblem. Nämlich das eines wahrscheinlich schlechten Konzepts. Das lässt sich eigentlich immer besser umsetzen als mit einer derart hohen Anzahl an Eingabefeldern...
cinos hat folgendes geschrieben : |
| Wenn ich die Variabele ändere, soll sich der Text in der TextBox ändern. |
Ändere nicht nur die Variable, sondern auch die TextBox.
cinos hat folgendes geschrieben : |
| Wenn ich aber die TextBox änder soll sich die Variabele ändern. |
Reagiere auf das Ereignis TextChanged und packe da den Text in die Variable.
cinos - Sa 11.12.10 13:21
Danke erstmal ;)
Warum so viele Boxen? Screenshot ist im Anhang (bisschen was hab ich aber unkentlich gemacht :D). Ist zwar nicht DIE Lösungs des Jahrhunderts, funktioniert aber...
Ich werd mal versuche das alles hübsch in einer Schleife zu verpacken (wahrscheinlich scheiterts bei mir wieder an "this.Controls". Ich bin da irgendwie zu dumm zu :D
Lg cinos
Trashkid2000 - So 12.12.10 11:43
Hallo,
ja, mit den vielen Textboxen ist wirklich nicht so optimal. Da wäre ein DataGridView oder so wirklich angebracht.
Aber wenn es so bleiben soll/muss, dann könntest Du auch mit Bindings arbeiten. Das würde dann in etwa so aussehen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| public partial class Form1 : Form, INotifyPropertyChanged { private string tb1Text = null; public string Tb1Text { get { return tb1Text; } set { if (tb1Text != value) { tb1Text = value; NotifyPropertyChanged("Tb1Text"); } } }
public Form1() { InitializeComponent(); InitializeTextBoxes(); }
private void InitializeTextBoxes() { TextBox tb = new TextBox(); tb.DataBindings.Add("Text", this, "Tb1Text", false, DataSourceUpdateMode.OnPropertyChanged); this.Controls.Add(tb); }
public virtual void NotifyPropertyChanged(string propertyName) { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); }
#region INotifyPropertyChanged Member public event PropertyChangedEventHandler PropertyChanged; #endregion } |
Marko
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!