Windows Forms, . Form.SizeFromClientSize(int, int) AdjustWindowRectEx . :
RestoreWindowBoundsIfNecessary WM_WINDOWPOSCHANGEDSetClientSizeCore
:
CreateParams :
private bool createParamsHack;
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
if (createParamsHack)
cp.Style &= ~(int)(WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_THICKFRAME);
return cp;
}
}
WndProc WM_WINDOWPOSCHANGED:
if (m.Msg == WM_WINDOWPOSCHANGED)
{
createParamsHack = true;
base.WndProc(ref m);
createParamsHack = false;
}
SetClientSizeCore:
protected override void SetClientSizeCore(int x, int y)
{
createParamsHack = true;
base.SetClientSizeCore(x, y);
createParamsHack = false;
}
SizeFromClientSize(Size), , .