技術情報

C# ユーザーコントロールを配置する時の注意点

この記事は約2分で読めます。

今回はユーザーコントロールを配置した時に少し躓いた点について紹介します。

以下のようなユーザコントロールを作成しました。

メインのフォームに配置してみると、何度やってもコントロールの位置やフォントサイズがおかしくなります。

配置したユーザーコントロールのプロパティ(AutoSizeなど)を確認してもおかしくなる理由が見つからず、作り直してまた配置してみようかと思い始めました。

もう一度プロパティの設定を確認してみようと、先ほどとは違いユーザーコントロールをデザイナで開きプロパティを一つ一つ確認していくと、

「AutoScaleMode」

なるものを発見。説明文を見てみると、

解像度またはフォントが変更されたとき、フォームまたはコントロールのサイズ変更方法を決定します。

と書かれていました。
設定するAutoScaleMode定数を見てみると、

初期値では「Font」が設定されていたため、「None」を設定し再コンパイル。
メインのフォームをデザイナで開いてみると、無事ユーザーコントロールを作成した通りの見た目で配置することが出来ました。

原因となっていたのは、配置先であるメインフォームのフォントを変更していたためでした。
AutoScaleModeプロパティで「Font」が設定されていると配置先のフォントに合わせて自動でスケーリングされるようです。

もし同じような現象が起きて困ったら、参考に設定を見直してみてください。

タイトルとURLをコピーしました