Laden...

Labels "kleben" in einer GroupBox oben rechts!!

Letzter Beitrag vor 7 Jahren 5 Posts 1.742 Views
Labels "kleben" in einer GroupBox oben rechts!!

Hallo,

ich verzweifle bald. Vielleicht könnt ihr mir helfen. Ich lasse mit per Syntax ein paar Labels erstellen.


                for (int i = 0; i < AnzahlLabels; i++)
                {
                    lbls[i] = new Label();

                    lbls[i].Text = "12345678";
                    lbls[i].Size = new Size(50, 13);
                    lbls[i].Top = j * 20;
                    lbls[i].Left = i * 310;

                    grp_details.Controls.Add(lbls[i]);
                }

und Adde diese in eine GroupBox, jetzt kann ich einstellen was ich will, die Labels beginnen immer ganz oben in der Linie und ganz links an der Linie. Egal was ich mit Margin versuche ich bekomme die "erste Reihe" nicht tiefer gesetzt.

Hat jemand eine Idee wie ich das Problem in den Griff bekomme?

Hi,

was repräsentiert denn die Variable "j", die für die Berechnung von Top hinzugezogen wird?
Kann es sein, dass initial der Wert von Top = 0 ist?
Dann überschreibt der erste Label den Header der GroupBox.

lG, Marko

Zeige mal den ganzen Code, der Schnipsel von oben funktioniert problemlos.
Was mich verwundert, in deinem Bild werden doch auch Label weiter rechts und weiter unten erzeugt?! 🤔

j sollte noch hochgezählt werden, sonst sieht das nicht so aus wie im Bild. Wenns weiter unten beginnen soll, eine Konstante drauf addieren.
Ich würde den labels AusoSize=true setzen, dann sieht man alles was sie enthalten sollen 😃

Die Control.Dock-Eigenschaft (oder ein TableLayoutPanel) kennst du, oder?
Pixelgenau selbst solltest du die Steuerelemente nicht selbst platzieren - da gibt es viel zu viele Sachen, die das später blöd aussehen lassen können (Schriftarten, DPI-Skalierung, ...)