Windows Forms Add 組態元素
元素 <add>
會新增預先定義的索引鍵,指定您的 Windows Form 應用程式是否支援在 .NET Framework 4.7 或更新版本中新增至 Windows Forms 應用程式的功能。
Syntax
<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 Forms從 Windows 10 Creators Edition 開始執行的 Windows 版本下執行的應用程式,以及從 .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
索引鍵控制。動態 DPI 支援,由
EnableWindowsFormsHighDpiAutoResizing
索引鍵控制。單一傳遞控制項縮放,由以下三者控制:個別 Form 控制項的
Form.DisableSinglePassControlScaling
、錨定控制項的AnchorLayout.DisableSinglePassControlScaling
索引鍵,以及 MonthCalendar 控制項的MonthCalendar.DisableSinglePassControlScaling
索引鍵高 DPI 縮放及配置改進功能,由以下三者控制:CheckedListBox 控制項的
CheckListBox.DisableHighDpiImprovements
索引鍵、DataGridView 控制項的DataGridView.DisableHighDpiImprovements
索引鍵,以及 ToolStrip 控制項的Toolstrip.DisableHighDpiImprovements
索引鍵。
設定 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中,調整是透過多個階段執行,導致某些控制項的縮放比例超過必要。 僅在應用程式依賴舊行為的情況,才停用單一傳遞縮放。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應