一般来说,问题是这样的:
有以下窗口:
属性如下:
- FormBorderStyle = FixedSingle
- 开始位置=中心屏幕
- 控制框 =假
- 帮助按钮 =假
- 最大化框=假
- 最小化框 =假
- 最高=真
- 没有与绘制/调整表单大小相关的操作
对于每个人,它都正确显示(如屏幕截图所示)。
但是,一个人给我写了以下内容:
请使自定义排序窗口变大和/或将对话框退出代码正确分配给窗口按钮 - 它们在大 DPI 中不可见,并且几乎没有办法显示它们或使用加速键“按下”
我让他发一张问题的截图,看到如下:
它清楚地表明由于某种原因客户区的大小相当缩小,所以按钮和表单的右侧对我来说是一个未知的方向
发生了什么事,这是为什么……我不知道¯\_(ツ)_/¯
所以问题是:
- 为什么会发生这种情况(归咎于 Windows 10、高 DPI 或其他原因,为什么)?
- 如何解决?


FormBorderStyle = FixedSingle 和 ControlBox = false 与 DPI 增加的组合是罪魁祸首。显然这是一个错误。
这里建议的解决方案是在设计器的表单属性中将 ControlBox 设置为 true,然后在 OnLoad 方法中将其设置为 false。