Groupbox via Programm

theplake

Erfahrenes Mitglied
Hi Leute

Folgendes, ich habe mir eine Methode gebastelt wo ich per Knopfdruck groupboxes erstelle mit controlls drinnen:
Code:
  private void groupBoxCreate()
        {
         
            GroupBox myGroupbox = new GroupBox();
            myGroupbox.Location = new Point(311, cnt);
            myGroupbox.Size = new Size(234, 47);
            this.tabPage1.Controls.Add(myGroupbox);

            TextBox myTextbox = new TextBox();
            myTextbox.Location = new Point(42, 16);
            myTextbox.Size = new Size(47, 20);
            myTextbox.KeyDown += myTextbox_KeyDown;
            myGroupbox.Controls.Add(myTextbox);

            Label myLabel = new Label();
            myLabel.Location = new Point(6, 19);
            myLabel.Size = new Size(30, 13);
            myLabel.Text = "qm² :";
            myGroupbox.Controls.Add(myLabel);

            Label myLabel2 = new Label();
            myLabel2.Location = new Point(95, 20);
            myLabel2.Size = new Size(28, 13);
            myLabel2.Text = "0,00";
            myGroupbox.Controls.Add(myLabel2);

            Label myLabel3 = new Label();
            myLabel3.Location = new Point(134, 20);
            myLabel3.Size = new Size(13, 13);
            myLabel3.Text = "€";
            myGroupbox.Controls.Add(myLabel3);

            cnt = cnt + 50;

        }

das war jetzt mal schnell hingebastelt. Wenn ich jetzt einen Wert in die jeweilige erzeugte Textbox eingebe soll z.b. ein Rechenwert NUR in das dazugehörige Label eingetragen werden.
Wie gehe ich sowas am besten an? Oder muss ich das ganze als Array machen und über den index?
 
Hi

Eine von vielen Möglichkeiten: Ein Dictionary<GroupBox,Label> map
Für eine Groupbbox gp kann man dann mit map[gp] aufs passende Label zugreifen.

Bei Arrays gibts das Problem, dass man irgendwie die passende Indexnummer
zur Groupbox wissen muss (wenn man die Groupboxen auch in einem Array hat,
gut, aber sonst...), und dass das Vergrößern umständlich ist, wenn man die Anzahl
vorher noch nicht genau weiß.
 
Okay aber bei einem Dictionary muss ich ja auch die Anzahl festlegen und die weiß man vorher nicht. Ich versuch es erstmal via array und versuche dann mit dem enter propertie den index auszulesen.
 
Hallo theplake,

du könntest im Tag-Property der Textbox das Label-Objekt hinterlegen. Dann weiß die Textbox immer, in welches Label der Ergebnis geschrieben werden soll.

Gruß
MCoder
 
Zurück