控件在构建时在vs2008设计模式下移动

时间:2012-03-19 19:36:39

标签: winforms visual-studio visual-studio-2008

我有一个C#.NET winforms项目,每当我构建项目时,一些控件都在设计视图中移动。它的唯一一些控件(一个带有标签和数据网格视图的面板,一个按钮,一个链接按钮和一个标签)都在每个构建中向上移动。

有没有人见过这个或知道如何修复它?

1 个答案:

答案 0 :(得分:1)

我认为这是因为AutoScaleDimensions。我的猜测是你的表单最初是在另一台机器上创建的。

MSDN

  

“AutoScaleDimensions属性表示DPI或字体设置   控件缩放或设计的屏幕。   具体来说,在设计时,此属性将由Windows设置   将设计器表单设置为显示器当前使用的值。然后,   当表单在运行时加载时,如果是CurrentAutoScaleDimensions   属性不同于AutoScaleDimensions ,.   将调用PerformAutoScale方法来执行缩放   控制和所有的孩子。之后,AutoScaleDimensions将   更新以反映新的缩放比例。“

我的猜测是,由于奇怪的某些原因,当你构建项目属性(可能是其他一些)得到调整,但不是在设计时。 我想几个可能的原因:

  • 你在多个显示器上工作和/或你的适配器有一些奇怪的东西。

  • 自动生成的设计器文件存在一些问题。也许吧 以某种方式手动编辑。

为了解决问题,我建议做一些我会做的事情:

  • 如果可能,通过复制粘贴位从头开始重新创建表单 一个接一个。

  • 如果没有采取一些合并工具并插入新的表格     属性。

此处还有一个关于AutoScaleDimentions的另一个有趣的问题。