2009-07-21 51 views
18

當我在visual studio 2005(c#)中打開一個窗體時,設計師automaticaly調整窗體大小並移動/調整控件大小而不觸及設計器。源文件被更改,當我關閉設計器時,我被要求保存* .cs文件。 我試圖調查視覺工作室選項沒有任何成功。 有什麼想法? 視覺工作室設置什麼的? 謝謝, Tal視覺工作室2005設計師移動控件和調整表格

回答

3

我找到了解決辦法。

不知道後面發生了什麼,但我改變了我的顯示屬性。它工作正常。 這裏是序列:display propertis-> settings tab-> advance。 在推進對話我改變了「DPI設置」從大(120DPI)爲正常(96 DPI)

1

這是一個你應該住的人。即使在VS2008中,這樣的事情也會不時發生。它主要取決於表單內容(控件,位置等),VS中沒有選項來禁用這種行爲。

當您在設計器中打開表單時,vs運行時會從代碼後面重建視覺外觀。有時它在這一刻做出了改變。此外,當您只是添加一個控件來形成時,設計師完全重建代碼隱藏和資源文件。這是衆所周知的問題,似乎MS不會修復它,因爲它們以WPF方向移動。

所以幾點要簡化你的生活:

  1. 移動到VS2008,設計師更一致,但仍處於洗牌控制了.Designer.cs文件
  2. 將您的代碼在源庫之一,所以如果你不小心保存了這樣的表單,你可以從存儲庫中恢復它。
+0

謝謝仲裁者。 - 好吧,轉到2008與我的項目無關(此時涉及太多代碼)。 – tal 2009-07-21 13:48:55

+0

VS2005-> 2008遷移完全沒有問題。 – 2009-07-21 14:17:32

+5

這仍然是在VS2010 – ryantm 2010-12-09 21:32:51

10

我一直在這個問題上最今天,發現了一些有趣的事情:的主要來源問題似乎依賴於錨定。如果我使用對接來定位我的控件,而不是錨定,我的問題似乎消失了。我發現了2003年的一些博客帖子(!),其中詳細介紹瞭如何使用對接而不是錨定,並解釋錨定如何破壞Windows窗體設計器。看起來這個問題可能超過7歲!

下面是帖子:

7

這是由於AutoScaleMode - 屬性。您的表單可能被設計爲具有與現在在Windows顯示設置中不同的DPI或字體設置。 AutoScaleMode -property有4個不同的可能值:Dpi,Font,InheritNone。在DpiFont模式下,根據窗口顯示設置,窗體和控件將自動調整大小。

因此,在所有窗體和控件中設置AutoScaleMode屬性爲None,並且它們不會自動調整大小。嘗試設計您的表格,以便在每個控件中留出足夠的空間,以便即使文本大小設置爲125%,文本也會適合。

0

將表單的最小和最大尺寸設置設置爲當前尺寸對我來說是一個很好的解決方法。這阻止了VS調整它的大小。

2

與複雜TabControls中的控件錨定頂部,左側和右側相同的問題。 Visual Studio表單設計人員每次打開表單時都會增加所有嵌套控件的寬度。

我發現了一個簡單的解決方法感謝this post。我只是將一個面板添加到每個選項卡並設置其填充屬性。選項卡中的所有現有控件都在這些面板內移動。即使這些控件被錨定在頂部,左側和右側,這也可以工作。至少在Visual Studio 2013年和2015年

-2

作品我有這個問題了。每次我打開設計師時,每個帶有「右」錨的盒子左移約20像素。此外,每個包含錨點「左」的框的底部在表單外約爲200個像素。

這種形式具有許多控件和不應收縮上的較小顯示器,所以它被設置爲自動滾動,形式本身是在設計小於所示出的最小尺寸(歷史...)。我只是將尺寸設置爲最小尺寸,以便設計師不會出現滾動條,並且錨點按預期工作而不會擰緊柱子。

,我讀了ryantm的答案,使我的解決方案的第一篇文章。顯然它與訂單有關.Net執行諸如設置表單大小的事件。

0

我有它一些控件,其中確定,並在底部取消正在儘快形式在VS2013設計器中打開移一個微不足道的形式。在VS2015中觀察到相同的行爲。

這裏DPI的接受的答案沒有解決這個問題對我來說,也沒有在形式/填充/利潤率的大小的任何問題。

去除移位的控制和增加它們放回形式解決了這個問題對我來說,由ptutt這裏建議: Visual Studio designer moving controls and adding grid columns when form is opened

雖然我很欣賞ryantum的建議,並使用對接[與面板]鏈接,在與Roland的博客文章在這裏https://weblogs.asp.net/rweigelt/28984上面的鏈接還提到,與東西這麼瑣碎我寧願只是使其與刪除/添加回走。

0

我發現從格式菜單鎖定控制是簡單有效的解決方案。 VS2013

-1

我有這個問題,2015年VS我 用碼頭面板與意外移動,他們的孩子的控制。 默認情況下,控件將對齊到左側,但您可以更改方向。 我的按鈕停止移動。