在Visual Studio 2008上,我有一个System.Windows.Forms.TabPage的实例。
TabPage上有很多控件。
因此,TabPage上有一个垂直滚动条。
无数次,所有控件均匀向下移动,在TabPage顶部产生大量空白空间。我必须向下滚动才能查看第一个控件,它应位于TabPage的顶部。这在Visual Studio中发生,随后也在运行时发生。
似乎没有事件触发这种转变。它刚刚发生。查看每个控件的Location属性表明它们都向下移动了相同的值。
我不得不多次手动修复此问题。然后问题又回来了,通常是几天后。我可以在表格上工作。看起来不错。关闭它。稍后回来,控件全部向下移动一定数量。
7月14日,更多信息
Visual Studio 2008正在改变这个:
this.groupBoxTrees.Location = new System.Drawing.Point(3,3);
To This:
this.groupBoxTrees.Location = new System.Drawing.Point(3,1030);
为什么呢?什么时候?是什么原因?我不知道。
注意值1030也是随机的。我只能说,由于某种原因,VS为TabPage上的每个控件上的每个Location.Y属性添加一个常量值。所有控件都被锁定。
有什么建议吗?
谢谢!
答案 0 :(得分:1)
感谢同事,我发现了什么问题。
如果在TabPage上的滚动条向下移动时保存表单,Visual Studio工作室会向TabPage上的每个控件的Location.Y添加一个数字。该值与滚动条向下移动的距离相关。
在保存表单所做的更改之前,始终将滚动条移动到表单顶部可以防止出现此问题。
为什么会这样?我无法找到答案。这可能与我使用两台显示器的事实有关。但话说回来,如果这有助于解决问题,那么你会认为Location.X会被改变,而不是Location.Y。