次の方法で共有


Windows フォームの add 構成要素

<add> 要素は、.NET Framework 4.7 以降の Windows フォーム アプリに追加された機能を Windows フォーム アプリでサポートするかどうかを指定する定義済みのキーを追加します。

構文

<System.Windows.Forms.ApplicationConfigurationSection>
  <add key="key-name" value="key-value" />
</System.Windows.Forms.ApplicationConfigurationSection>

属性と要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
key 必須の属性です。 Windows フォームの特定のカスタマイズ可能な機能に対応する定義済みのキー名。
value 必須の属性です。 key に代入する値。

key 属性名と関連付けられた値

key 説明
"AnchorLayout.DisableSinglePassControlScaling" "true"|"false" 固定されたコントロールをシングル パスで拡大縮小するかどうかを示します。 シングル パスの拡大縮小を無効にする場合は "true"。それ以外の場合は false。 詳細については、「解説」の「シングル パスの拡大縮小」セクションを参照してください。
"DpiAwareness" "PerMonitorV2"|"false" アプリケーションが DPI 対応であるかどうかを示します。 DPI 対応をサポートするには、キーを "PerMonitorV2" に設定します。それ以外の場合は、"false" に設定します。 DPI 対応はオプトイン機能です。Windows フォームの高 DPI サポートを利用するには、値を "PerMonitorV2" に設定する必要があります。 詳細については、「解説」セクションを参照してください。
"CheckedListBox.DisableHighDpiImprovements" "true"|"false" CheckedListBox コントロールが .NET Framework 4.7 で導入された拡大縮小とレイアウトの機能強化を利用するかどうかを示します。 拡大縮小とレイアウトの機能強化をオプトアウトする場合は "true"。それ以外の場合は "false"。
"DataGridView.DisableHighDpiImprovements" "true"|"false" .NET Framework 4.7 で導入された DataGridView コントロールの拡大縮小とレイアウトの機能強化を行うかどうかを示します。 DPI 対応をオプトアウトする場合は "true"。それ以外の場合は "false"。
"DisableDpiChangedMessageHandling" "true"|"false" DPI スケールの変更に関連するメッセージの受信をオプトアウトする場合は "true"。それ以外の場合は "false"。 詳細については、「解説」セクションを参照してください。
"EnableWindowsFormsHighDpiAutoResizing" "true"|"false" DPI スケールの変更によって Windows フォーム アプリケーションのサイズが自動的に変更されるかどうかを示します。 自動サイズ変更を有効にする場合は "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 で導入された拡大縮小とレイアウトの機能強化を利用するかどうかを示します。 DPI 対応をオプトアウトする場合は "true"。それ以外の場合は "false"。

子要素

なし。

親要素

要素 説明
<System.Windows.Forms.ApplicationConfigurationSection> 新しい Windows フォーム アプリケーション機能のサポートを構成します。

解説

.NET Framework 4.7 を使用すれば、.NET Framework の最近のリリースで追加された機能が利用できる Windows フォームのアプリケーションを、<System.Windows.Forms.ApplicationConfigurationSection> 要素で構成できます。

<System.Windows.Forms.ApplicationConfigurationSection> 要素には 1 つまたは複数の子の <add> 要素を追加でき、各要素には特定の構成設定が定義されます。

Windows フォームでの高 DPI サポートの概要については、「Windows フォームでの高 DPI のサポート」を参照してください。

DpiAwareness

Windows 10 Creators Edition 以降のバージョンの Windows と .NET Framework 4.7 以降の .NET Framework のターゲット バージョンで実行される Windows フォーム アプリは、.NET Framework 4.7 で導入された高 DPI の機能強化を利用するように構成できます。 次の設定があります。

  • Windows フォーム アプリケーションの開始後にユーザーが DPI またはスケール ファクターを変更する動的 DPI のシナリオのサポート。

  • MonthCalendar コントロールや CheckedListBox コントロールなど、多数の Windows フォーム コントロールの拡大縮小とレイアウトの機能強化。

高 DPI 対応はオプトイン機能です。デフォルトでは、DpiAwareness の値は false です。 このキーの値をアプリケーション構成ファイルでPerMonitorV2に設定することで、DPI 認識のWindows フォームサポートをオプトインできます。 DPI 対応が有効になっている場合は、すべての個別の DPI 機能も有効になります。 次の設定があります。

  • DPI 変更メッセージ。DisableDpiChangedMessageHandling キーによってコントロールされます。

  • 動的 DPI サポート。EnableWindowsFormsHighDpiAutoResizing キーによってコントロールされます。

  • 個々の Form コントロールは Form.DisableSinglePassControlScaling、固定されたコントロールは AnchorLayout.DisableSinglePassControlScaling キー、および MonthCalendar コントロールは MonthCalendar.DisableSinglePassControlScaling キーによってコントロールされるシングルパス コントロールの拡大縮小。

  • 高 DPI スケールとレイアウトの機能強化。CheckedListBox コントロールは CheckListBox.DisableHighDpiImprovements キー、DataGridView コントロールは DataGridView.DisableHighDpiImprovements キー、および ToolStrip コントロールは Toolstrip.DisableHighDpiImprovements キーによってコントロールされます。

DpiAwarenessPerMonitorV2 に設定することによって提供される単一のデフォルトのオプトイン設定は、通常、新しい Windows フォーム アプリケーションに適しています。 ただし、対応するキーをアプリケーション構成ファイルに追加することで、個々の高 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 フォーム アプリケーションで高 DPI サポートを利用する方法の詳細については、「Windows フォームでの高 DPI のサポート」を参照してください。

DisableDpiChangedMessageHandling

.NET Framework 4.7 以降、Windows フォーム コントロールは、DPI スケールの変更に関連する多数のイベントを発生させます。 これには、DpiChangedAfterParentDpiChangedBeforeParent、および DpiChanged イベントが含まれます。 DisableDpiChangedMessageHandling キーの値によって、これらのイベントが Windows フォーム アプリケーションで発生するかどうかが決定されます。

シングルパスの拡大縮小

シングル パスまたは複数パスの拡大縮小は、ユーザー インターフェイスの認識される応答性と、ユーザー インターフェイス要素が拡大縮小されるときの視覚的な外観に影響します。 .NET Framework 4.7 以降では、Windows フォームはシングル パスの拡大縮小を使用します。 以前のバージョンの .NET Framework では、拡大縮小は複数のパスによって実行されており、一部のコントロールが必要以上に拡大縮小される原因になっていました。 シングルパスの拡大縮小は、アプリが古い動作に依存している場合にのみ無効にする必要があります。

関連項目