有没有办法阻止任何具有font属性的控件自动从容器控件继承字体属性,如Panel,GroupBox和Form。
我尝试在容器上将AutoScaleMode设置为None,但没有任何问题。
有什么建议吗?
答案 0 :(得分:2)
Font,ForeColor,BackColor和Cursor是环境属性,这意味着如果它们未设置,则它们将从父容器继承。
如果控件设置Font属性,则不会使用环境字体。如果控件没有设置Font属性,那么它将继承父容器。
ambient属性在基本控件类中设置,如Label。控件将Font定义为环境值。禁用它的唯一方法是覆盖Font属性,使其不是环境。您可以创建新的控件类,如MyLabel,它们扩展Windows窗体标签类,然后覆盖Font属性,使其不是环境。构建应用程序后,可以将MyLabel类从工具箱拖到表单设计器中。
我没有看到禁用环境字体的实用程序。如果容器在更改字体方面遇到了麻烦,在哪种条件下将字体保留为Windows选择的字体是有利的,这与用户设置的当前主题无关?