Intereting Posts

Автоматическое масштабирование дочерних элементов управления при максимизации формы

Есть ли способ сделать все автоматически масштабирование на windowsFrom при максимальном увеличении экрана или изменении разрешения.

Я нашел это в ручном режиме правильно, но при переключении разрешения я должен менять его каждый раз.

this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; 

Нет простого переключателя, который вы можете нажать, чтобы это произошло автоматически. Автомасштабирование предназначено для решения совсем другой задачи. Вам нужно выложить свою форму и элементы управления с учетом этой цели дизайна.

В частности, лучший способ сделать это – использовать TableLayoutPanel управления TableLayoutPanel состыкованный, чтобы «заполнить» всю вашу форму, установить его свойство Dock в DockStyle.Fill . Это по существу станет «сеткой макета», которую вы используете для размещения дочерних элементов управления, которые вы хотите отобразить в форме.

Затем поместите каждый из ваших обычных элементов управления внутри «ячеек» этого TableLayoutPanel управления TableLayoutPanel . Задайте свойство Anchor дочерних элементов управления, чтобы указать, как вы хотите, чтобы они увеличивались при расширении формы (или сокращении). Например:

  • Если вы хотите, чтобы элемент управления увеличивался горизонтально, когда форма была максимизирована, вы захотите привязать ее к левому и правому краям своей контейнерной ячейки.
  • Чтобы расти вертикально, вам нужно привязать его к верхнему и правому краям ячейки.
  • Если вы привяжете его ко всем краям, он будет увеличиваться по всем направлениям.
  • Если вы привяжете его ни к одному из краев, элемент управления останется одного и того же размера и просто центрируется внутри ячейки.

Это требует немного времени, чтобы поправляться. Например, вам иногда придется устанавливать ColumnSpan и / или RowSpan элементов управления внутри TableLayoutPanel управления TableLayoutPanel чтобы убедиться, что они расположены так, как вы хотите, особенно по отношению к другим элементам управления, отображаемым в вашей форме.

Но это всего лишь единственный способ сделать то, что вы хотите, и он работает очень хорошо, как только вы его настроите.