How do I set the size of the visible area of a form, minus heading and borders?
I would like to set my form to be exactly 300*300 excluding heading and borders.
If I use Size property, it does include these values.
Is there any way h开发者_如何学JAVAow to do it?
You have two options, as follows:
To remove heading and borders from a Form, disable the Form's
FormBorderStyle
property.Set the interior of the form with the
ClientSize
property, as follows:this.ClientSize = new Size(300, 300);
Why not just factor in the size of the border and the title bar?
int BorderWidth = (this.Width – this.ClientSize.Width) /2;
int TitlebarHeight = this.Height – this.ClientSize.Height – 2 * BorderWidth;
I found the formulas here.
There is workaround to set proper Size by designer tool: 1. Set FormBorderSize to "None". 2. Set prefered Size (e.g. "300; 300"). 3. Set FormBorderSize to prefered border (additional needed space will be added to Size property automaticly).
精彩评论