如何防止控件从其父GroupBox继承Font

时间:2016-08-30 10:47:23

标签: c# winforms groupbox

我正在开发Windows窗体应用程序,并且GroupBox包含许多标签和文本框。如果我更改了GroupBox的字体,那么Label和TextBox的字体也会发生变化。有没有办法更改GroupBox的字体而不更改Label' s和TextBox的字体?

4 个答案:

答案 0 :(得分:1)

您需要设置它们,否则它们将被继承。所以只需更改里面标签的字体。

答案 1 :(得分:1)

您可以在运行时将控件的字体更改为组框父项的字体:

InitializeComponent();

foreach(Control c in this.groupBox1.Controls)
    c.Font = c.Parent.Parent.Font;

对于少数群组:

foreach(Control p in new[] {groupBox1, groupBox2})
    foreach (Control c in p.Controls)
        c.Font = c.Parent.Parent.Font;     // or just p.Parent.Font;

答案 2 :(得分:0)

我经常将面板停靠在GroupBox中。然后,将面板字体更改为所需的字体。然后添加所有标签和其他控件。它们将从面板继承,而不是从GroupBox继承。

答案 3 :(得分:-2)

在设计模式中,您可以转到视图>其他Windows>文件大纲
现在您可以注意到控件位于组框下并继承了组框字体 在设计器中,您可以将控件稍微移出组框,然后可以使用箭头键移动控件,使其位于组框上方但不在其中。

[enter image description here][1]