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