這是Windows本身的錯誤。 Winforms asks the visual style renderer繪製手柄。它使工作變得很糟糕,而不是使它變得更大,使它更小。它實際上不應該這樣做,你指定它應該填充的矩形。對於視覺風格渲染器來說,一個bug並不罕見。
你可以做的很少,希望他們有一天能修復bug。但有一件事,你必須自己動手。窗體的SizeGripStyle屬性設置回自動並重寫OnPaint()方法來繪製它:
protected override void OnPaint(PaintEventArgs e) {
base.OnPaint(e);
var gripSize = (int)(16 * e.Graphics.DpiX/96f);
var rc = new Rectangle(this.ClientSize.Width - gripSize,
this.ClientSize.Height - gripSize, gripSize, gripSize);
ControlPaint.DrawSizeGrip(e.Graphics, this.BackColor, rc);
}
不太一樣漂亮的「酒窩」的風格你從視覺樣式呈現,你也可以考慮繪製一個位圖,但你需要幾個版本來匹配DPI。