Соотношение сторон - это просто отношение одной оси к другой: ширина / высота.
Чтобы сохранить соотношение сторон при заданной цели (newWidth, newHeight), вам просто нужно убедиться, что (newWidth / newHeight) == (Ширина / Высота)
Для этого вам необходимо (например) решить, является ли ширина или высота наиболее важной осью.Если вы исправите ширину, то вы можете рассчитать высоту по ширине, чтобы сохранить соотношение сторон:
newWidth = newWidth;
newHeight = newWidth * (Height / Width)
Чтобы применить это, вам просто нужно сесть на событие Resize, чтобы вы могли контролировать размер всякий раз, когдасделана попытка изменить ваш контроль:
private void Form1_Resize(object sender, System.EventArgs e)
{
sender.Size = new Size(control.Size.Width, control.Size.Width * desiredAspectRatio);
}