Panel auf Autoscroll

20/08/2009 - 12:01 von Timo Herzog | Report spam
Hallo,

wenn ich ein Panel auf Autoscroll gesetzt habe und dann auch Controls aus
dem Bild laufen.

Kann ich herausbekommen wie groß dieses Panel sein müsste, damit nicht
gescrollt werden muß?
 

Lesen sie die antworten

#1 FrankDzaebel
20/08/2009 - 13:33 | Warnen spam
Hallo Timo,

wenn ich ein Panel auf Autoscroll gesetzt habe
und dann auch Controls aus dem Bild laufen.
Kann ich herausbekommen wie groß dieses Panel
sein müsste, damit nicht gescrollt werden muß?



Ein Beispiel:

Size GetControlMaxSize(Control cont)
{
controls = new List<Control>();
AlleSubControlsZufügen(cont);
int maxX = controls.Max<Control>(
c => c.Bounds.Left + c.Bounds.Width);
int maxY = controls.Max<Control>(
c => c.Bounds.Top + c.Bounds.Height);
return new Size(maxX, maxY);
}

List<Control> controls;

void AlleSubControlsZufügen(Control control)
{
controls.Add(control);
foreach (Control ctl in control.Controls)
{
AlleSubControlsZufügen(ctl);
}
}

private void button1_Click(object sender, EventArgs e)
{
Size maxSize = GetControlMaxSize(panel1);
panel1.Size = maxSize;
}


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen