gpt4 book ai didi

vb.net - 如何更改 GroupBox 文本的前景色而不更改其子前景色?

转载 作者:行者123 更新时间:2023-12-02 09:37:35 26 4
gpt4 key购买 nike

我想知道是否有一个选项可以仅更改 Windows 窗体中组框左上角的组框文本的颜色,而不更改组框内的任何控件或标签。

我知道 GroupBox.ForeColor = Color.Blue 会将与该框关联的所有文本更改为蓝色,但它也会更改标签和其他控件的 ForeColor GroupBox

如何更改组框文本的颜色而不更改其子项前景色?

最佳答案

The ForeColor property is an ambient property. An ambient property is a control property that, if not set, is retrieved from the parent control.

由于您没有为组框中的标签和文本框设置 ForeColor,它们将使用其父级的 ForeColor 值。您可以使用以下任一选项解决此问题:

  1. GroupBox中放置一个Panel,将GroupBoxForeColor设置为蓝色 并使用设计器显式将 PanelForeColor 设置为 ControlText。然后将其他控件放入Panel中。这样,您的控件将使用您显式设置的 PanelForeColor

  2. 自定义GroupBoxPaint:

    Private Sub GroupBox1_Paint(ByVal sender As System.Object, _
    ByVal e As System.Windows.Forms.PaintEventArgs) Handles GroupBox1.Paint

    e.Graphics.Clear(Me.GroupBox1.BackColor)
    GroupBoxRenderer.DrawGroupBox(e.Graphics, Me.GroupBox1.ClientRectangle, _
    Me.GroupBox1.Text, Me.GroupBox1.Font, Color.Blue, _
    System.Windows.Forms.VisualStyles.GroupBoxState.Normal)
    End Sub

关于vb.net - 如何更改 GroupBox 文本的前景色而不更改其子前景色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37793517/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com