我想知道是否有一个选项可以仅更改Windows窗体中组框左上方的组框文本的颜色,而不是位于组框内的任何控件或标签。
我知道这GroupBox.ForeColor = Color.Blue会将与该框关联的所有文本更改为蓝色,但同时也会更改中ForeColor的标签和其他控件GroupBox。
如何更改组框文本的颜色而不更改其子原色?
该
ForeColor属性是环境属性。环境属性是控件属性,如果未设置,则从父控件中检索它。
由于您没有ForeColor在组框中设置标签和文本框,因此它们将使用ForeColor其父级的值。您可以使用以下两个选项之一解决此问题:
把一个Panel在GroupBox设定ForeColor的GroupBox到Blue和集ForeColor的Panel以ControlText显式使用设计。然后将其他控件放入中Panel。这样一来,你的控件将使用ForeColor的Panel你设定明确。
自定义Paint的GroupBox:
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
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
1009 次 |
| 最近记录: |