public virtual Point GetExpectedSize(Point available)
{
if (!Visible) return Point.Zero;
Point result = GetMinClientSize(available);
Point client = GetMaxClientSize(available);
// Restliche Controls
foreach (var child in Children)
{
Point size = child.GetExpectedSize(client);
result = new Point(Math.Max(result.X, size.X), Math.Max(result.Y, size.Y));
}
return result + Borders;
}