単純なケース: Form
Visual Studio デザイナーで を作成し、そのAutoScaleMode
値を に設定しますDpi
。次に、NumericUpDown
コントロールと a を aTextBox
の 2 行に配置しTableLayoutPanel
ます。ここで、両方のコントロールのMargin
プロパティを 10 ピクセルに設定します。また、対応するマニフェスト ファイルを提供して、プロセスの高 DPI サポートを有効にします。
プログラムが設計されたものとは異なる DPI スケーリングで実行される場合、NumericUpDown
入力コントロールのマージンは異なります。他のすべてのコントロールは、マージンを適切にスケーリングできますが、これは例外です。
ヒント: デバッガーを使用して実行すると (F5)、常に 96 dpi で実行されますが、デバッガーを使用せずに実行すると (Ctrl+F5)、ネイティブのシステム DPI 設定が使用されます。これで、両方をテストできます。
それはバグですか?修正できますか?