У меня есть форма, которая содержит Menu Strip
, закрепленный сверху, Status Strip
, закрепленный снизу, и Panel
, закрепленный, чтобы заполнить все пространство между вышеупомянутыми элементами управления. Для формы я установил следующие атрибуты:
На этапе разработки:
AutoScaleMode: Dpi
AutoSize: false
AutoSizeMode: GrowOnly
DoubleBuffered: true
SizeGripStyle: Show
Во время выполнения (в конструкторе формы):
// Calculate the default size of the window on the basis of the ratio of the dimensions of the window to the dimension of the screen resolution of the machine used in development as the default dimensions of the window is aligned to that of the machine used to design it
this.Size = new Size(Screen.GetWorkingArea(this.Location).Size.Width * (widthOfWindowInDesignPhase /horizontalResolutionOfTheDisplayInDesignPhase), Screen.GetWorkingArea(this.Location).Size.Height * (heightOfWindowInDesignPhase / verticalResolutionOfTheDisplayInDesignPhase));
this.MinimumSize = new Size(this.Size.Width, this.Size.Height);
Моя первая попытка решить эту проблему состояла в том, чтобы поэкспериментировать со свойствами AutoSize
и AutoSizeMode
, но я требую, чтобы это было установлено в предварительно установленные значения, так как изменение их не позволит пользователю изменить размер формы. Другой подход, который я попробовал, но также потерпел неудачу, установив свойства AutoSize
вышеупомянутых элементов управления на false
, чтобы заставить дочерние контейнеры формы не изменять размер.
Заранее спасибо.
PS Скриншот соответствующей формы: