Я хотел бы установить мою форму точно на 300 * 300, исключая заголовок и границы.
Если я использую свойство Size, оно включает эти значения.
Есть ли способ, какимсделать это?
У вас есть два варианта:
Чтобы удалить заголовок и границы из формы, отключите свойство формы FormBorderStyle.
FormBorderStyle
Установите внутреннюю часть формы с помощью свойства ClientSize следующим образом:
ClientSize
this.ClientSize = new Size(300, 300);
Почему бы просто не учесть размер границы и строку заголовка?
int BorderWidth = (this.Width – this.ClientSize.Width) /2; int TitlebarHeight = this.Height – this.ClientSize.Height – 2 * BorderWidth;
Я нашел формулы здесь .
Существует обходной путь для установки правильного размера с помощью инструмента конструктора: 1. Установите для параметра FormBorderSize значение «Нет».2. Установите предпочтительный размер (например, «300; 300»).3. Установите для FormBorderSize предпочтительную границу (дополнительное необходимое пространство будет добавлено в свойство Size автоматически).