1

私は Windows フォーム プロジェクトに取り組んでいます。このプロジェクトでは、コントロールのサイズはデザイナで設定され、オートサイズはオフになっています。しかし、Windows 7 の表示設定が中 (125%)または大 (150%)に設定されている場合、コントロールのサイズが変わります。この動作を防ぐにはどうすればよいですか?

4

3 に答える 3

4

ほとんどの場合、フォームのプロパティを に設定することで、この動作を無効にすることができます。AutoScaleModeAutoScaleMode.None

そうは言っても、自動スケーリングを単にオフにしないでください。それはおそらく良いことだからです! これにより、さまざまな解像度とフォント スケール設定でフォームを機能させることができます。たとえば、フォームをデザインしても視覚障害のあるユーザー (たとえば、システム フォントのスケーリングを異常に高いパーセンテージに増やしている人) のことを忘れている場合、自動スケーリングのおかげでフォームが機能する可能性があります。

他の回答が示唆するように、各コントロールの位置とサイズを固定ピクセル値で指定してから自動スケーリングをオフにする代わりに、自動レイアウト手法を使用します。

  • コントロールを配置するために、さまざまなコンテナー要素内にコントロールを配置します (グリッド内 – TableLayoutPanel、次々と –FlowLayoutPanelなど)。
  • Dock各コントロールのおよびAnchorプロパティを設定します。
  • AutoSize各コントロールのおよびAutoSizeModeプロパティを設定します。

これを正しく行うにはある程度の練習が必要ですが、フォームのレイアウトがより堅牢になります。

于 2012-10-16T15:53:35.140 に答える
0

コントロールには Anchor プロパティと Dock プロパティを使用します。

于 2012-10-16T15:50:07.643 に答える