【发布时间】:2021-10-25 07:30:30
【问题描述】:
我有这个问题:我的表单模块在运行时意外更改了分辨率。
我有一个包含 DataGridView 的表单模块,当我运行表单时一切正常,表单显示正确。 但是,当我在表单上拖放时,它会突然改变分辨率而我无法找到解释。
应用程序目标框架是.NET 4.5.2
我已经验证在调用DataGridView组件的Update和Refresh方法时会出现问题,但是尽管尝试了无数次我还是不明白问题是什么。
this.dataGridView.BeginInvoke(new Action(() => this.dataGridView.Update()));
this.dataGridView.BeginInvoke(new Action(() => this.dataGridView.Refresh()));
这是 Form 和 DataGridView 组件的设置
感谢大家的帮助
【问题讨论】:
-
我会检查您是否在窗口上有任何自动调整大小设置。它可能会尝试使窗口大小适合内容。
-
感谢@R.Czq AutoSize 的形式是假的,AutoScaleMode 是字体
-
您设备的 DPI / 字体缩放选项是什么? support.microsoft.com/en-us/windows/…
-
@MarcelPiquet 然后我会尝试将 AutoScaleMode 设置为 none 并查看是否有任何影响。您也可以尝试使用 dataGridView 的 AutoSizeColumnsMode 并将其设置为 none。如果这两件事中的任何一个对您有帮助,那么您可以尝试找出导致问题的原因。你也可以尝试用类似的代码做一个模拟项目,看看你的代码的简化版本是否也会发生这种情况。
标签: c# winforms datagridview resolution