C # масштабировать все элементы управления - PullRequest
0 голосов
/ 16 мая 2018

У меня есть форма с несколькими элементами управления.Проблема в том, что когда я максимизирую форму, чтобы принять разрешение экрана, элементы управления не масштабируются правильно.

Мой код:

private void Form1_Load(object sender, EventArgs e)
{
    foreach (Control control in this.Controls)
    {             
        control.Anchor = 
        ((System.Windows.Forms.AnchorStyles) 
        ((((System.Windows.Forms.AnchorStyles.Top | 
        System.Windows.Forms.AnchorStyles.Bottom)
        | System.Windows.Forms.AnchorStyles.Left)
        | System.Windows.Forms.AnchorStyles.Right)));
    }
    this.Location = new Point(0, 0);
    this.Size = Screen.PrimaryScreen.WorkingArea.Size;
}

Я исследовал проблему в течение нескольких часов и обнаружил, что я настраиваю стили привязки на Top, Bottom, Left, Right, чтобы элементы управленияизменить размер вместе с формой.Я пробовал это с кодом выше, и это не помогло.Установка DockSytle в DockStyle.Fill также не помогает.Если бы кто-нибудь мог предложить предложение того, что помогло бы мне, это было бы очень ценно.

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Стиль привязки работает следующим образом.На элементе управления, если вы установите точки привязки на:

Top / Right, тогда элемент управления останется в верхнем правом углу.Вверху / влево, тогда элемент управления остается в верхнем левом углу.Внизу / вправо, затем регулятор остается в правом нижнем углу.Внизу / слева, тогда элемент управления остается внизу слева.Вершина тогда остается на вершине.Внизу то и остается внизу.Слева, то остается слева.Прямо тогда это остается справа.Верх / низ тянется сверху вниз.Влево / вправо растягивается слева направо.

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

Надеюсь, это поможет.

0 голосов
/ 16 мая 2018

Вы должны правильно использовать каждый из стилей привязки.

В идеале, вы должны показать свою форму и сообщить нам желаемые результаты.

Но попробуйте это:

  • Если вы используете стиль «только один» , элемент будет перемещаться (без изменения размера), прикрепленным квыбранная вами сторона
    • Таким образом вы можете комбинировать одну вертикаль и одну горизонталь
  • Если вы используете «два» противоположных стиля , элемент будет растянуть при растягивании формы

Если у вас слишком много элементов, вы можете рассмотреть возможность использования предложенной TableLayoutPanel в комментариях к вашему вопросу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...