我有一个TableLayoutPanel,其中许多信息被保存为标签文本对。意思是第一列是标签,第二列是文本框,第三列是等等。我想对列对进行着色以使数据更具可读性。
如果数据是单列对,我可以在普通的Panel中记录TableLayoutPanel,改变它的颜色,我很高兴。但在这种情况下,我希望将数据跨3个列密切关联,以便它们一起滚动。
要按列对表格进行着色,我正在使用CellPaint事件,代码如下。
private void tlpEngParts_CellPaint(object sender, TableLayoutCellPaintEventArgs e)
{
Graphics g = e.Graphics;
Rectangle r = e.CellBounds;
switch(e.Column)
{
case 0:
case 1:
g.FillRectangle(Brushes.Orange, r);
break;
case 2:
case 3:
g.FillRectangle(Brushes.Green, r);
break;
case 4:
case 5:
g.FillRectangle(Brushes.Red, r);
break;
}
}
但这会使标签全部采用默认的灰色前色。如何让标签的颜色与列颜色相匹配?就像有一个面板背后有一个固定的颜色。