000
14.04.2007, 08:03 Uhr
~drfm2000
Gast
|
Hallo!
Folgendes Problem: Ich erstelle eine Form mit einem Panel. In diesem Panel möchte ich dynamisch ein paar Steuerelemente anlegen. In der Load-Methode z.B. wie folgt:
for (int i = 0; i < 100; i++) { Label l = new Label(); l.Text = "Nummer: " + i.ToString(); l.Location = new Point(0, 25 * i); l.AutoSize = true; panel1.Controls.Add(l); }
Danach möchte ich die vertikale Scrollbar (panel1.AutoScroll = true) automatisch nach unten verschieben, so daß z.B. das 20. Element sichtbar ist:
int y = 20 * 25; panel1.AutoScrollPosition = new Point(panel1.AutoScrollPosition.X, panel1.AutoScrollPosition.Y + y);
Das funktioniert soweit. Aber:
Füge ich beispielsweise in meine for-Schleife einen Button und/oder eine Checkbox hinzu (oder ersetze das Label nur durch einen Button), funktioniert das Scrollen nicht.
for (int i = 0; i < 100; i++) { Label l = new Label(); l.Text = "Nummer: " + i.ToString(); l.Location = new Point(0, 25 * i); l.AutoSize = true; panel1.Controls.Add(l);
Button b = new Button(); b.Text = i.ToString(); b.Location = new Point(80, 25 * i); b.AutoSize = true; panel1.Controls.Add(b);
CheckBox c = new CheckBox(); c.Text = i.ToString(); c.Location = new Point(180, 25 * i); c.AutoSize = true; panel1.Controls.Add(c); }
int y = 20 * 25; panel1.AutoScrollPosition = new Point(panel1.AutoScrollPosition.X, panel1.AutoScrollPosition.Y + y);
Woran kann das liegen???
Vielen Dank für die Hilfe.
Frank |