4

我有一個Windows窗體文件,每次我在Visual Studio中打開它時,都會增加設計器文件中控件的大小。如果我保存表格,在編輯器中關閉它,然後再打開它,那麼這些控件都比以前更大一些。我可以看到控件上的大小屬性在設計器文件中都增加了。如何在每次打開窗體時停止Visual Studio放大控件?

任何人都可以向我解釋如何解決這種行爲?

+1

聲音像大小正在調整作爲您的公共財產之一的副作用。你是否明確地在你的表格中設置/修改尺寸?這些用戶控件是否在你的表單上? – roken

+1

查看屬性:AutoScaleMode,AutoSize,AutoSizeMode – alexm

+0

您是否有高dpi設置? –

回答

2

要詳細說明我的評論,當設計器加載/保存表單時,它將調用您的表單和表單控件的公共屬性上的getters/setters。

這意味着如果您重寫了表單的屬性,並且訪問/設置該屬性具有調整控件大小的副作用,則該大小調整將反映在設計器中。然後,當您保存表單時,該新大小會持久保存到設計器生成的代碼中。每次你重新打開表格時,都會發生這種調整。

這也適用於在設計器生成的代碼中設置的屬性的事件處理程序。

+0

我發現了這個問題。我創建了一個繼承自SplitContainer的自定義控件。 Visual Studio會自動爲將AutoScaleMode屬性設置爲Font的自定義控件創建一個設計器文件(爲什麼?我不知道)。這導致SplitContainer內的所有內容的大小每次都會增加。 – NeonD

0

只需鎖定您的控件,以免意外移動或調整它們的大小。

只需打開表單設計器,右鍵單擊並從上下文菜單中選擇「鎖定控件」。

enter image description here

至於爲什麼Visual Studio是自動調整他們,我只能猜測。

3

我已經在一個新的帶有HD解析度的筆記本電腦的Windows 8上運行VS常規的1280 x 800的一個

Windows默認安裝的高清筆記本電腦的時候曾與Visual Studio的問題是增加字體大小窗口程序由25%

查看屏幕分辨率 - >使文本或其他項目變大或變小 - >選擇'讓我爲我的所有顯示選擇一個縮放級別'以查看設置。我的情況是125%。

Visual Studio似乎根據上面的設置設置窗體或控制AutoScaleMode設置。

在窗體設計器中: 在低分辨率筆記本電腦上 this.AutoScaleDimensions = new System.Drawing.SizeF(6F,13F);

嗨res this.AutoScaleDimensions = new System.Drawing.SizeF(7F,16F);

相關問題