2016-10-10 97 views

回答

1

這是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。