这是 Windows 本身的错误。窗体 asks the visual style renderer绘制抓地力。它把工作搞得一团糟,不是让它变大而是变小。它实际上不应该做任何事情,你指定它应该用 handle 填充的矩形。一个糟糕的错误,不幸的是,对于视觉样式渲染器来说并不少见。
对此你无能为力,希望他们有一天会修复这个错误。但有一件事,你必须自己拉 Handlebars 。将窗体的 SizeGripStyle 属性设置回 Auto 并覆盖 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。
我是一名优秀的程序员,十分优秀!