Windows Forms 新增設定元素
元素 <add>
會新增預先定義的索引鍵,指定 Windows Form 應用程式是否支援在 .NET Framework 4.7 或更新版本中新增至 Windows Forms 應用程式的功能。
語法
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="key-name" value="key-value" />
</System.Windows.Forms.ApplicationConfigurationSection>
屬性和元素
下列章節說明屬性、子元素和父元素。
屬性
屬性 | 描述 |
---|---|
key |
必要屬性。 對應至特定 Windows Forms 可自定義功能的預先定義索引鍵名稱。 |
value |
必要的 屬性。 要指派給 key 的值。 |
key
屬性名稱和相關聯的值
key 名稱 |
值 | 描述 |
---|---|---|
“AnchorLayout.DisableSinglePassControlScaling” | “true”|”false” | 指出錨定控件是否在單一階段中縮放。 “true” 表示停用單一傳遞調整;否則為 false。 如需詳細資訊,請參閱< |
“DpiAwareness” | “PerMonitorV2”|”false” | 指出應用程式是否為 DPI 感知。 將索引鍵設定為 「PerMonitorV2」 以支援 Dpi 感知;否則,請將它設定為 「false」。。 DPI 感知是選擇加入功能;若要利用 Windows Forms 的高 DPI 支援,您應該將其值設定為 “PerMonitorV2”。 如需詳細資訊,請參閱一節。 |
“CheckedListBox.DisableHighDpiImprovements” | “true”|”false” | 指出控件是否 CheckedListBox 利用 .NET Framework 4.7 中引進的調整和版面配置改善。 “true” 選擇退出調整和版面配置改善;否則為 「false」。。 |
“DataGridView.DisableHighDpiImprovements” | “true”|”false” | 指出 .NET Framework 4.7 中引進的 DataGridView 控件調整和版面配置改進。 “true” 選擇退出 DPI 感知;否則為 「false」。。 |
“DisableDpiChangedMessageHandling” | “true”|”false” | “true” 選擇不接收與 DPI 縮放比例變更相關的訊息;否則為 「false」。。 如需詳細資訊,請參閱一節。 |
“EnableWindowsFormsHighDpiAutoResizing” | “true”|”false” | 指出 Windows Forms 應用程式是否因為 DPI 縮放比例變更而自動重設大小。 “true” 可啟用自動重設大小;否則為 false。 |
“Form.DisableSinglePassControlScaling” | “true”|”false” | 指出是否 Form 在單一階段中調整 。 “true” 表示停用單一傳遞調整;否則為 false。 如需詳細資訊,請參閱< |
“MonthCalendar.DisableSinglePassControlScaling” | “true”|”false” | 指出控制項是否 MonthCalendar 在單一階段中調整。 “true” 表示停用單一傳遞調整;否則為 false。 如需詳細資訊,請參閱< |
“Toolstrip.DisableHighDpiImprovements” | “true”|”false” | 指出控件是否 ToolStrip 利用 .NET Framework 4.7 中引進的調整和版面配置改善。 “true” 選擇退出 DPI 感知;否則為 「false」。。 |
子元素
無。
父元素
元素 | 描述 |
---|---|
<System.Windows.Forms.ApplicationConfigurationSection> |
設定新 Windows Forms 應用程式功能的支援。 |
備註
從 .NET Framework 4.7 開始, <System.Windows.Forms.ApplicationConfigurationSection>
元素可讓您設定 Windows Forms 應用程式,以利用最新版 .NET Framework 中新增的功能。
元素 <System.Windows.Forms.ApplicationConfigurationSection>
可讓您新增一或多個子專案,每個項目 <add>
都會定義特定的組態設定。
如需 Windows Forms 高 DPI 支援的概觀,請參閱 Windows Forms 中的高 DPI 支援。
DpiAwareness
從 Windows 10 Creators Edition 開始執行的 Windows Forms 應用程式,以及從 .NET Framework 4.7 開始的 .NET Framework 目標版本,可以設定為利用 .NET Framework 4.7 中引進的高 DPI 改進功能。 包括:
支援動態 DPI 案例,在 Windows Forms 應用程式啟動之後,使用者可用以變更 DPI 或縮放比例。
針對數項 Windows Forms 控制項的縮放及配置功能 (例如 MonthCalendar 控制項與 CheckedListBox 控制項) 進行改進。
高 DPI 感知是選擇加入功能;根據預設,的值 DpiAwareness
是 false
。 您可以在應用程式組態檔中,將此機碼 PerMonitorV2
的值設定為 ,以加入加入 Windows Forms 對 DPI 感知的支援。 如果已啟用 DPI 感知,也會啟用所有個別 DPI 功能。 包括:
DPI 變更的訊息,由
DisableDpiChangedMessageHandling
密鑰控制。由金鑰控制的
EnableWindowsFormsHighDpiAutoResizing
動態 DPI 支援。單一傳遞控件調整,由個別Form控件的控制
Form.DisableSinglePassControlScaling
、AnchorLayout.DisableSinglePassControlScaling
錨定控件的索引鍵,以及MonthCalendar.DisableSinglePassControlScaling
控制控制MonthCalendar控制高 DPI 縮放比例和版面配置改善,由
CheckListBox.DisableHighDpiImprovements
控件的索引鍵、DataGridView.DisableHighDpiImprovements
控件的索引鍵CheckedListBox控制,以及Toolstrip.DisableHighDpiImprovements
控制的ToolStrip索引鍵DataGridView控制。
設定 DpiAwareness
PerMonitorV2
為所提供的單一默認選擇加入設定,通常適用於新的 Windows Forms 應用程式。 不過,您可以將對應的金鑰新增至應用程式組態檔,以退出宣告個別的高 DPI 改善。 例如,若要利用動態 DPI 支援以外的所有新 DPI 功能,您會將下列內容新增至應用程式組態檔:
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="DpiAwareness" value="PerMonitorV2" />
<!-- Disable dynamic DPI support -->
<add key="EnableWindowsFormsHighDpiAutoResizing" value="false" />
</System.Windows.Forms.ApplicationConfigurationSection>
一般而言,您退出宣告特定功能,因為您已選擇以程式設計方式處理此功能。
如需在 Windows Forms 應用程式中利用高 DPI 支援的詳細資訊,請參閱 Windows Forms 中的高 DPI 支援。
DisableDpiChangedMessageHandling
從 .NET Framework 4.7 開始,Windows Forms 控件會引發許多與 DPI 縮放比例變更相關的事件。 這些包括 DpiChangedAfterParent、 DpiChangedBeforeParent和 DpiChanged 事件。 索引鍵的值 DisableDpiChangedMessageHandling
會決定這些事件是否在 Windows Forms 應用程式中引發。
單一傳遞調整
單一或多重傳遞縮放會影響使用者介面的感知回應性,以及調整使用者介面元素的視覺外觀。 從 .NET Framework 4.7 開始,Windows Forms 會使用單一傳遞調整。 在舊版 .NET Framework 中,調整是透過多個階段執行,這會導致某些控件調整超過必要。 如果您的應用程式相依於舊的行為,則只應該停用單一傳遞調整。