【问题标题】:Controls on TabPage change inexplicablyTabPage 上的控件发生了莫名其妙的变化
【发布时间】:2012-07-11 22:05:08
【问题描述】:

在 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);

到这里:

this.groupBoxTrees.Location = new System.Drawing.Point(3, 1030);

为什么?什么时候?是什么原因?我不知道。

请注意,值 1030 也是随机的。我只能说,出于某种原因,VS 为 TabPage 上每个控件的每个 Location.Y 属性添加了一个常量值。所有控件均已锁定。

有什么建议吗?

谢谢!

【问题讨论】:

  • 您是否将控件的属性 Anchor 设置为标签页的底部边框?
  • 感谢您的回复。我不知道。我会找出答案的。
  • 没有。控件的 Anchor 属性设置为:Top, Left。
  • 我仍在寻求帮助。现在很多次,Location.Y 的值都发生了变化,莫名其妙地在 TabPage 上的所有控件上发生了变化。这越来越贵了。 TabPage 上的每个控件都被向下推。这是随机的。我将 Locked 属性设置为 True,但仍然有一些东西决定更改每个控件的 Y 值。
  • 您是否尝试过使用选项卡控件构建另一个表单,相同的页数和一个控件,关闭表单然后重新打开。如果没有问题,那么可能你有什么东西坏了。此外,为使用的正确语言添加标签,您将让更多人看到您的问题。

标签: c# visual-studio-2008 tabpage


【解决方案1】:

感谢一位同事,我发现了问题所在。

如果在 TabPage 上的滚动条向下移动时保存表单,Visual Studio Studio 会在 TabPage 上每个控件的 Location.Y 中添加一个数字。该值与滚动条向下移动的距离相关。

可以通过在保存表单所做的更改之前始终将滚动条移动到表单顶部来防止该问题。

为什么会这样?我没有办法知道。这可能与我使用两台显示器有关。但是话又说回来,如果这有助于导致问题,那么您会认为 Location.X 会被更改,而不是 Location.Y。

【讨论】:

  • 谢谢你,在 2021 年 VS2017 仍然发生,我的是水平的,但同样的问题,重新定位的控件似乎无处不在。而我的不是 tabconrol,我的是一个设置为在 tabcontrol 中自动滚动的面板。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多