Autor Beitrag
cinos
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 11.12.10 12:03 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19340
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 11.12.10 13:07 
Hallo und :welcome:

user profile iconcinos hat folgendes geschrieben Zum zitierten Posting springen:
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...

user profile iconcinos hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich die Variabele ändere, soll sich der Text in der TextBox ändern.
Ändere nicht nur die Variable, sondern auch die TextBox.

user profile iconcinos hat folgendes geschrieben Zum zitierten Posting springen:
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 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: 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
Einloggen, um Attachments anzusehen!
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Sa 11.12.10 13:51 
Du könntest dir mal die Klassen DataGridView und ListView anschauen.
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: 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:
ausblenden volle Höhe 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(thisnew PropertyChangedEventArgs(propertyName));
  }

  #region INotifyPropertyChanged Member
  public event PropertyChangedEventHandler PropertyChanged;
  #endregion
}

Marko