0

我有一个 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?或者如果是这样,我怎么能在运行时重新着色单元格?

4

1 回答 1

0

CellPaint 是一个事件而不是方法。我建议您创建一个方法GetColor(int row,int column),它返回一个颜色画笔,然后在 CellPaint 事件中使用 e.Row 和 e.Column 调用您的方法。

于 2013-02-14T10:53:40.270 回答