我在一个表页中包含了一个用户控件。表单设置了AutoScaleMode = AutoScaleMode.Font,UserControl设置了AutoScaleMode.Inherit。
现在,当我放大表单的字体大小时,字体也会在用户控件中放大,但是控件的内容不会缩放。如果我在用户控件上显式设置了AutoScaleMode.Font,那么它就能正常工作。
AutoScaleMode.Inherit不应该这样工作吗?
发布于 2010-06-15 06:56:48
MSDN有一个明确的警告:
在.NET框架1.0和1.1版本中,使用一种更简单的机制支持自动缩放,这种机制总是依赖于当前的系统字体。这种机制现在已经过时,但仍然支持向后兼容性。您可以通过将包含窗体的AutoScale属性设置为true来获得旧的缩放行为,这也将隐式地将ContainerControl.AutoScaleMode属性设置为None。相反,设置表单的ContainerControl.AutoScaleMode属性将AutoScale设置为false,从而启用.NET Framework2.0版本引入的新的缩放机制。
那么:第一个问题:您使用的是哪个框架版本?
第二个猜测:您的控件是否在窗体初始化后添加?
https://stackoverflow.com/questions/2500847
复制相似问题