2016-10-10 35 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。