2012-07-11 129 views
1

在Visual Studio 2008上,我有一個System.Windows.Forms.TabPage的實例。TabPage上的控件莫名其妙地變化

TabPage上有很多控件。

因此,TabPage上有一個垂直滾動條。

無數次,所有的控件均勻向下移動,使得TabPage頂部有很多空的空間。我必須向下滾動才能查看第一個控件,它應該位於TabPage的頂部。這發生在Visual Studio中,隨後也在運行時發生。

沒有事件似乎觸發了這種轉變。它恰好發生。查看每個控件的位置屬性顯示它們全部向下移動相同的值。我不得不多次手動修復這個問題。然後這個問題通常會在幾天後回來。我可以在表格上工作。看上去不錯。關閉它。稍後再回來,控制器全部向下移動一定量。

7月14日的更多信息

Visual Studio 2008中正在發生變化這樣的:

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

這樣:

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

爲什麼?什麼時候?是什麼原因?我不知道。

注意值1030也是隨機的。我只能說,出於某種原因,VS爲TabPage上每個控件的每個Location.Y屬性添加了一個常量值。所有的控件都被鎖定。

有什麼建議嗎?

謝謝!

+0

您是否將控件的屬性Anchor設置爲您的標籤頁的底部邊框? – Steve 2012-07-11 22:17:29

+0

感謝您的回覆。我不知道。我會發現的。 – 2012-07-11 22:49:12

+0

否。控件的Anchor屬性設置爲:Top,Left。 – 2012-07-11 22:55:41

回答

1

感謝一位同事,我發現了什麼地方出了問題。

如果TabPage上的滾動條向下移動時保存表單,則Visual Studio studio會在TabPage上的每個控件的Location.Y中添加一個數字。該值與滾動條向下移動的距離相關。

在保存窗體所做的更改之前,始終將滾動條移動到窗體頂部可防止出現此問題。

爲什麼會發生這種情況?我無法找出答案。這可能與我使用兩臺顯示器的事實有關。但是,如果這有助於解決問題,那麼你會認爲Location.X會改變,而不是Location.Y。

相關問題