我有一个C#.NET winforms项目,每当我构建项目时,一些控件都在设计视图中移动。它的唯一一些控件(一个带有标签和数据网格视图的面板,一个按钮,一个链接按钮和一个标签)都在每个构建中向上移动。
有没有人见过这个或知道如何修复它?
答案 0 :(得分:1)
我认为这是因为AutoScaleDimensions。我的猜测是你的表单最初是在另一台机器上创建的。
每MSDN。
“AutoScaleDimensions属性表示DPI或字体设置 控件缩放或设计的屏幕。 具体来说,在设计时,此属性将由Windows设置 将设计器表单设置为显示器当前使用的值。然后, 当表单在运行时加载时,如果是CurrentAutoScaleDimensions 属性不同于AutoScaleDimensions ,. 将调用PerformAutoScale方法来执行缩放 控制和所有的孩子。之后,AutoScaleDimensions将 更新以反映新的缩放比例。“
我的猜测是,由于奇怪的某些原因,当你构建项目属性(可能是其他一些)得到调整,但不是在设计时。 我想几个可能的原因:
你在多个显示器上工作和/或你的适配器有一些奇怪的东西。
自动生成的设计器文件存在一些问题。也许吧 以某种方式手动编辑。
为了解决问题,我建议做一些我会做的事情:
如果可能,通过复制粘贴位从头开始重新创建表单 一个接一个。
如果没有采取一些合并工具并插入新的表格 属性。
此处还有一个关于AutoScaleDimentions的另一个有趣的问题。