Как установить размер видимой области формы, минус заголовок и границы? - PullRequest
19 голосов
/ 24 февраля 2011

Я хотел бы установить мою форму точно на 300 * 300, исключая заголовок и границы.

Если я использую свойство Size, оно включает эти значения.

Есть ли способ, какимсделать это?

Ответы [ 3 ]

31 голосов
/ 24 февраля 2011

У вас есть два варианта:

  • Чтобы удалить заголовок и границы из формы, отключите свойство формы FormBorderStyle.

  • Установите внутреннюю часть формы с помощью свойства ClientSize следующим образом:

    this.ClientSize = new Size(300, 300);
    
8 голосов
/ 24 февраля 2011

Почему бы просто не учесть размер границы и строку заголовка?

int BorderWidth = (this.Width – this.ClientSize.Width) /2;
int TitlebarHeight = this.Height – this.ClientSize.Height – 2 * BorderWidth;

Я нашел формулы здесь .

5 голосов
/ 11 октября 2012

Существует обходной путь для установки правильного размера с помощью инструмента конструктора: 1. Установите для параметра FormBorderSize значение «Нет».2. Установите предпочтительный размер (например, «300; 300»).3. Установите для FormBorderSize предпочтительную границу (дополнительное необходимое пространство будет добавлено в свойство Size автоматически).

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