1

タブページに含まれるユーザー コントロールがあります。Form は AutoScaleMode = AutoScaleMode.Font を設定し、UserControl は AutoScaleMode.Inherit を設定しています。

フォームのフォント サイズを拡大すると、ユーザー コントロールでもフォントが拡大されますが、コントロールの内容は拡大縮小されません。ユーザー コントロールに AutoScaleMode.Font を明示的に設定すると、正しく動作します。

AutoScaleMode.Inherit はそのように動作すべきではありませんか?

4

1 に答える 1

1

MSDNには明示的な警告があります。

.NET Framework バージョン 1.0 および 1.1 では、常に現在のシステム フォントに依存する単純なメカニズムを使用して、自動スケーリングがサポートされていました。このメカニズムは廃止されましたが、下位互換性のために引き続きサポートされています。含まれている Form の AutoScale プロパティを true に設定することで、古いスケーリング動作を取得できます。これにより、ContainerControl.AutoScaleMode プロパティも暗黙的に None に設定されます。逆に、フォームの ContainerControl.AutoScaleMode プロパティを設定すると、AutoScale が false に設定され、.NET Framework バージョン 2.0 で導入された新しいスケーリング メカニズムが有効になります。

そう: 最初の質問: どのフレームワークのバージョンを使用していますか?

2番目の推測:フォームの初期化後にコントロールが追加されていますか?

于 2010-06-15T06:56:48.570 に答える