2012-03-19 21 views
1

我有一个C#.NET winforms项目,并且在构建项目时,一些控件正在设计视图中移动。它的唯一一些控件(一个带有标签和datagridview的面板,一个按钮,一个链接按钮和一个标签)在每个构建中都向上移动。在构建中以vs2008设计模式移动的控件

有没有人看过这个或知道如何解决它?

+0

您是否安装了任何加载项?你可以将表单复制到一个新的C#项目并复制行为? – UnhandledExcepSean 2012-03-21 19:46:56

+0

@SpectralGhost - 一些加载项。 Autocode v4.0(禁用),Devart SQL完成(禁用),rockscroll(禁用),Smart Paster 2008(启用),TestDriven.Net 3.0个人(禁用),TestDriven.Net反射器(启用)。 – MAW74656 2012-03-21 19:49:22

+0

控件是标准的WinForms还是第三方?你可以在哪里发布可复制的演示代码? – Phil 2012-03-22 17:16:15

回答

1

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

根据MSDN

“的AutoScaleDimensions属性表示DPI或字体设置屏幕,所述控制被缩放到或设计用于的 。 具体而言,在设计时,则此属性由Windows 窗体设计被设置为值如果CurrentAutoScaleDimensions属性与AutoScaleDimensions不同,则会调用PerformAutoScale方法来执行对控件及其所有子项的缩放,然后,在运行时加载窗体时,将调用 控件,并执行 控件。 AutoScaleDimensions将更新 以反映新的缩放比例IZE“。

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

  • 您在多个监视器上工作和/或有一些奇怪的东西与你的适配器。

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

要解决,我建议做一些事情,我会做:从头开始,如果可能的

  • 重新创建形式,通过复制粘贴位 一个接一个。

  • 如果不采取一些合并工具并插入新鲜形式 属性。

另外这里是AutoScaleDimentions另一个有趣的问题。