【问题标题】:GridView: forecolor of column headerGridView:列标题的前景色
【发布时间】:2020-08-29 13:51:30
【问题描述】:

这个 Grid 列属性我可以从设计器中设置,但不能从 C# 代码中设置!!!为什么? Header.BackColor 工作正常。除了这个,我还可以为 GridView 元素设置任何其他颜色。

【问题讨论】:

  • 您能分享一下您在哪个网格事件中实现的代码吗??
  • 我不使用任何事件。只需在程序代码中为每个列标题设置适当的属性。整个 headerpanel.forecolor 的属性也不起作用...
  • .backcolor column.header 属性有效。
  • .forecolor 用于行和focusedrow!!!

标签: c# .net winforms devexpress


【解决方案1】:

参考:How do I set the color of a grid column header panel?

标题的 BackColor 属性在皮肤绘制样式中被忽略。

将以下行添加到您的代码中以解决此问题:

gridControl1.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Flat;  
gridControl1.LookAndFeel.UseDefaultLookAndFeel = false; // <<<<<<<<  
gridView1.Appearance.HeaderPanel.Options.UseForeColor = true;  
gridView1.Appearance.HeaderPanel.ForeColor = System.Drawing.Color.Red;  

详细信息请参考:
Gridview - How to change a column's header background color
Why Appearance settings of DevExpress controls are not taken into account?
Devexpress column header color (each column different color), winform c#

DevExpress 蒙皮机制会覆盖外观对象设置。如果您需要不同的列标题背景颜色,您有几个选择:

  • 通过将 GridControl.LookAndFeel.UseDefaultLookAndFeel 属性设置为 False 并将 GridControl.LookAndFeel.Style 属性设置为“Flat”来禁用 GridControl 的蒙皮。
  • 处理 GridView 的 CustomDrawColumnHeader 并用不同的颜色填充列标题。

【讨论】:

  • 谢谢。前两行就足够了,现在一切正常;)
  • 毕竟,并非一切都好。停止显示在 RepositoryItemToggleSwitch 列之一中!!!
【解决方案2】:

如果您在运行时执行此操作,则需要将 GridColumn.AppearanceHeader.Options.UserForeColor 属性设置为 true 并设置实际颜色。当您通过设计器执行此操作时,该属性会自动设置为 true。

gridView1.Columns["FieldName"].AppearanceHeader.ForeColor = Color.Red;
gridView1.Columns["FieldName"].AppearanceHeader.Options.UseForeColor = true;

【讨论】:

  • 按照您的建议进行操作,但没有帮助。我注意到根据程序中设置的背景颜色,前色列会自动从白色变为黑色,反之亦然。那些。某处有一个属性可以自动设置列前景色,但我就是找不到它...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-04
  • 2013-01-19
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多