0

私のソリューションには、カスタムコントロールを作成しているプロジェクトがあります。そのプロジェクトをビルドするときに、デザイナーを介して別のプロジェクトにカスタムコントロールを挿入できます。すべてうまくいきます

しかし、これらのコントロールの1つと、フォームの1つで、問題が発生しています。これは、リストボックス、ボタン、グループボックスなど、固定サイズのコントロールであると想定されています。しかし、デザイナーからこの特定のフォームにドラッグすると、リストボックスとボタンのサイズがすべて間違っており、元のサイズよりもはるかに大きくなっています。これは、他のコントロールや他のフォームでは発生しません。すべてのフォーム(テキスト、フォント、名前などを除く)のプロパティウィンドウに表示されるプロパティは同じです。

何が起こっているのかを探す方法について、あなたのアイデアとガイダンスをいただければ幸いです。私はVSと.NETにまったく慣れていません

ありがとう

4

1 に答える 1

1

これは、ビデオ アダプタの DPI (ドット/インチ) 設定が異なるマシンでそのコントロールが設計された場合に発生します。自分で使用すると、コントロールはマシンの DPI 設定に合わせて自動的に再スケーリングされます。元のマシンと同じくらい大きく表示されるようにします。ピクセルではなくインチです。

コントロールの AutoScaleMode プロパティをいじりたくないので、これは通常非常に望ましいことです。これを行うと、DPI 設定が異なる場合にユーザーのマシンで誤動作するためです。コントロールの Designer.cs ファイルを編集して、問題を解決してください。AutoScaleDimensions プロパティを割り当て、マシンで作成されたコントロールと同じにするコードを InitializeComponent() メソッドの下部で探します。また、フォント サイズを微調整する必要がある場合もあります。

于 2012-05-20T19:51:59.197 に答える