TableLayoutPanel中的颜色单元格在运行时期间是否包含变量?

时间:2013-02-14 10:17:33

标签: c# winforms tablelayoutpanel

我有一个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?或者如果是这样,我怎样才能在运行期间重新着色细胞?

1 个答案:

答案 0 :(得分:0)

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