1

我们与拥有 VS 2010 和 VS 2012 的开发人员一起使用 TFS 2010。我们创建了一个自定义控件(TFS Explorer 和 Web Access)。由于一些开发人员正在升级到使用 VS 2012,因此我也将 TFS Explorer 自定义控件更新到 2012,但是在处理两个 Team Explorer 如何呈现控件时遇到了一个奇怪的问题。

该控件是一个 Windows 窗体控件,其中包含一个下拉列表和一个按钮(它不扩展 TFS 特定的下拉列表)。在某些情况下还会出现一个标签,但大多数情况下,当它在 VS 2010 中呈现时,它看起来像这样:

参见图片:http ://social.msdn.microsoft.com/Forums/en-SG/tfsworkitemtracking/thread/e3e254e1-7f56-495c-a3c1-e92bfe030102

丢失的白框是对图像的更改,仅用于编辑内部信息。

请注意,您可以看到完整的下拉列表和刷新按钮。此控件使用自动调整大小(增长和缩小)进行编译,下拉和刷新按钮停靠,因此当您调整表单大小时,它可以正确调整大小。

为了迁移到 2012 年,我创建了一个新项目,移动了控件并将工作项控件和工作项客户端的引用更新到 2012 年的对应项。一切编译正确,控件按预期工作;但是,它们的渲染效果很差。

参见图片:http ://social.msdn.microsoft.com/Forums/en-SG/tfsworkitemtracking/thread/e3e254e1-7f56-495c-a3c1-e92bfe030102

请注意,控件太宽了。它完全切断了刷新按钮,并且一些下拉菜单也被切断了。

当我在 VS 2012 中调整窗口大小时,它也会“正确”缩放,但总是在同一个地方被切断。

控件本身在两个版本之间的设置方式相同,实际上我所做的只是引用较新的 TFS 相关程序集并重新编译,然后部署到我的本地 2012 文件夹以获取它。2012 和 2010 都指向同一个 TFS 2010 进程模板。看起来两者呈现的控件不同,或者基于不同的值自动调整大小。这是一个错误还是我没有处理的一些设置?

我的一个选择是将控件设置为特定大小,但我不想这样做。有人可以提示我为什么这些渲染不同吗?

更新:在玩这个时,控件的大小似乎太大了。在 VS 2012 中,它的空间比在 VS 2010 中多 20-30 像素,所以当它自动调整大小时,它太大了,但是渲染中的某些东西将其切断。当我移动内部控件以在控件右侧提供一个空白空间时,它们就会出现;但是,我也注意到,当我放大窗口然后尝试将其缩小回来时,即使自动调整大小设置为缩小和增长,控件也不会再变小。

更新:我已将此发布到 Connect 站点,因为它可能是 Studio 中的错误。http://connect.microsoft.com/VisualStudio/feedback/details/781607/updgrading-tfs-explorer-custom-control-from-2010-to-2012-rendering-differences

4

0 回答 0