0

現在、複数の行と列を持つ TableLayoutPanel があります。これは、SQL クエリの出力に応じて実行されるたびに異なる for ループによって設定されます。

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 に答える