开发者

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).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜