【发布时间】:2011-03-16 01:51:15
【问题描述】:
我有一个在 Visual Studio 中存在问题的项目。主窗体有一个带有四个标签页的 TabControl,在最初的开发过程中,每次打开项目时,第三个标签页的全部内容都会下移。 (如果你几天不看那个页面,那真的很糟糕,下次你运行程序时,你必须向下滚动,越过所有在进入任何内容之前积累的空白区域。)通过选择所有内容并将其拖回顶部,相对容易解决。
由于项目进入维护/增强模式,第三个标签页没有任何问题,但第四个标签页上的几个控件正在调整大小(宽度略有增加)或左移(a X 位置大幅下降)。同样,每次打开项目时,这些相同的控件都会受到影响,因此如果您不每次都修复它们,它们将继续远离正确的设置。
问题描述很像this other question;一个显着的区别是设计器源文件没有更改,即我可以在单独的文本编辑器中打开设计器源文件并查看所有受影响控件的位置和位置的正确值,同时我有在 Visual Studio 中打开项目并在“属性”窗口中查看不正确的值。 (在打开项目后执行“保存”或“全部保存”不会影响设计器源文件,但更改表单上的任何内容然后保存它会使源文件与 Visual Studio 中的错误值匹配。)
关于 Visual Studio 为何不正确显示表单的任何想法?我真的很想避免每天花费额外的时间来修复它。而且我并不热衷于向构造函数添加代码以重新设置这些属性,正如其他地方所建议的那样(违反 SPOT/DRY 规则,你知道——充满危险)。
【问题讨论】:
-
嗯,首先,听起来您迫切需要一个修订控制系统。如果您每次签到时都查看差异,您不会好几天都没有注意到变化。
-
我们正在使用 Subversion;监视设计器生成文件中的更改的问题是,每次更改表单上的任何内容时都会重新生成文件,并且代码最终会出现在不同的位置。因此,从一个版本到下一个版本的差异包括大量的删除和添加,即使在没有改变的东西上也是如此,因为设计者以不同的顺序写出代码。这使得差异对于查找特定属性的更改毫无用处。