Entwickler-Ecke

WinForms - new TextBox als member von tabPage definieren


mo0n_ - Fr 27.01.12 13:01
Titel: new TextBox als member von tabPage definieren
Hallo liebes Forum,

bastle derzeit an einem kleinen Programm und habe ein Problem:
ich möchte eine variierende Anzahl von TextBoxen erzeugen.
Dies tue ich mit folgendem Code:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
            int y = 91;
            
           for (int i = 1; i < this.dataGridViewRow.Cells.Count; i++)
           {
            TextBox txt = new TextBox();
            txt.BackColor = DefaultBackColor;
            txt.BorderStyle = BorderStyle.None;
            txt.Name = "txt" + i.ToString();
            txt.Location = new Point(209, y);
            txt.Size = new Size(15020);
            txt.Text = this.dataGridViewRow.Cells[i].Value.ToString();
            this.AutoSize = true;
            this.Controls.Add(txt);
            y += 33;


Diese sollen sich allerdings auf einer Registerkarte einer tabControl befinden was sich nun als probelmatisch herausstellt.

Wenn jemand den Befehl posten könnte mit dem ich meine textbox1 als member von tabpage1 definieren kann wäre ich sehr dankbar.

Liebe Grüße mo0n_


Vitalic - Fr 27.01.12 13:38

Hallo mo=n_.

Statt this solltes du den TabPage von deinem TabControl nehmen.

z.B.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
TabControl tc = new TabControl();
...
this.Controls.Add(tc);

TabPage tp = new TabPage;
...
tc.Controls.Add(tp);
...
TextBox tb = new TextBox();
...
tp.Controls.Add(tb); // hier muss der TabPage hin


mo0n_ - Fr 27.01.12 13:51

Vielen Dank Vitalic.
Funktioniert einwandfrei :)