我有一个TableLayoutPanel,目前有多行+列。它由一个for循环填充,每次运行时都会根据SQL查询的输出而不同。
void tblTableLayoutPanel_CellPaint(object sender, TableLayoutCellPaintEventArgs e)
{
if (e.Row == 2 || e.Row == 4)
{
Graphics g = e.Graphics;
Rectangle r = e.CellBounds;
g.FillRectangle(Brushes.Red, r);
}
}
这是我目前为各行着色的代码,但我希望能够根据2个变量(J和K)为单个单元着色。
TableLayoutPanel.Controls.Add(label, J, K);
类似地,这里是我如何使用J和K向TableLayoutPanel中的单元格添加标签的示例。是否可以重载CellPaint方法以允许在其中使用J和K?或者如果是这样,我怎样才能在运行期间重新着色细胞?
答案 0 :(得分:0)
CellPaint是一个事件,而不是一个方法。我建议你创建一个方法 GetColor(int row,int column),它返回一个颜色 Brush ,然后在CellPaint事件中用e.Row和e.Column调用你的方法