2016-12-14 7 views
0

複数のフォームを使用するC#(Visual Studio)でプログラムを作成しました。この問題は、画面の解像度が異なる別のコンピュータでプログラムを実行すると発生します。画面の解像度が低いコンピュータでプログラムを実行すると、フォームの内容がフォームに収まりません。フォームの内容を、それが実行されているコンピュータの画面解像度/サイズとは無関係に、フォームの内容が常に収まるように、画面の解像度に応じて、フォームのサイズをそれに応じてサイズ変更するにはどうすればよいですか?C#でフォームの内容を任意のウィンドウサイズに合わせて自動サイズ変更

ありがとうございます!

+0

[解像度を変更してフォームコントロールを自動サイズ変更して調整する方法](http://stackoverflow.com/questions/4248637/how-to-auto-resize-and-adjust-form-controls-with)の可能な複製-change-in-resolution) – mammago

+0

私はすでにこれを試してきました。ウィンドウのサイズを水平に変更するときに効果がありました。しかし、ウィンドウを垂直方向にサイズ変更すると(高さが小さくなると)機能しませんでした。垂直アンカーに使用する別の方法がありますか? @マンマゴ – Alisinna

答えて

0

WinFormsを使用していると仮定した場合、このケースでは、FLowLayoutPanelやTableLayoutPanelのように、フレームワークに含まれているさまざまなコンテナコントロールを使用することをお勧めします。

これらを避けたい場合は、標準のPanelコントロールを使用してDockプロパティを使用して、必要な領域が正しく塗りつぶされるようにします。次に、すべてのコントロールでDockプロパティを使用して、異なる解像度、さらに重要なことにWindowsで異なるDPI設定に応じてレイアウトをより敏感にします。

+0

ありがとう!はい、私はWinFormsを使用しています。 AnchoringプロパティとDockプロパティに同じ機能がありますか? @Gary – Alisinna

+0

固定することもできます。これはDockメソッドとは異なり、Dockは常に上/左/下/右を埋めるように塗りつぶされます。アンカーを使用すると、コントロールはサイズを変更しようとしますが、最初に設定したものに従って上/左/下/右に間隔を維持します。 – Gary

+0

ありがとう!それを試してみる:) @Gary – Alisinna

関連する問題