Windows窗体,停止子控件继承Form of Form / GroupBox / Parent

时间:2011-06-23 18:22:33

标签: windows winforms forms fonts

有没有办法阻止任何具有font属性的控件自动从容器控件继承字体属性,如Panel,GroupBox和Form。

我尝试在容器上将AutoScaleMode设置为None,但没有任何问题。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

Font,ForeColor,BackColor和Cursor是环境属性,这意味着如果它们未设置,则它们将从父容器继承。

如果控件设置Font属性,则不会使用环境字体。如果控件没有设置Font属性,那么它将继承父容器。

ambient属性在基本控件类中设置,如Label。控件将Font定义为环境值。禁用它的唯一方法是覆盖Font属性,使其不是环境。您可以创建新的控件类,如MyLabel,它们扩展Windows窗体标签类,然后覆盖Font属性,使其不是环境。构建应用程序后,可以将MyLabel类从工具箱拖到表单设计器中。

我没有看到禁用环境字体的实用程序。如果容器在更改字体方面遇到了麻烦,在哪种条件下将字体保留为Windows选择的字体是有利的,这与用户设置的当前主题无关?