1

多くの場合、私は winforms アプリを作成しますが、実行するとすべてが見栄えがします。次に、ユーザーのコンピューターに行くと、ラベルがつぶれている、フォントが大きくなっている、テキストが途切れているなどのことがわかります。何が起こっているのでしょうか? どうすればこれを防ぐことができますか?

これは特に新しい Windows OS、つまり Windows 7 などで見られます。複数の Windows OS バージョンで、すべてのユーザーに対してフォームを同じ (または少なくとも良い) ようにするにはどうすればよいですか?

4

1 に答える 1

2

システムのフォントが大きいか、システムの DPI が予想と異なるために UI がめちゃくちゃになっている場合は、いくつかのことを行う必要があります。

  • 固定の座標とサイズを使用しない
  • 位置とサイズのコントロールにドッキングとアンカーを使用する
  • AutoSize を使用して、コンテンツに応じてコントロールのサイズを変更してください
  • Graphics.MeasureString()フォントサイズを想定する代わりに、文字列のサイズを計算するために使用します

編集

もちろん、正しい/期待されるフォントが利用可能であることを確認するためにフォントを配布することもできますが (合法であれば)、さまざまな DPI 設定を予測する必要があります。

于 2012-06-14T05:35:05.327 に答える