フォームに DataGridView があり、セルに色を付けようとしています。
コードは次のとおりです。
public partial class Form1 : Form
{
DataTable dtToGrid = new DataTable();
BindingSource bs = new BindingSource();
public Form1()
{
InitializeComponent();
dtToGrid.Columns.Add("Group");
DataRow dr;
dr = dtToGrid.NewRow();
dr["Group"] = "must become lightGreen";
dtToGrid.Rows.Add(dr);
bs.DataSource = dtToGrid;
dataGridView1.DataSource = bs;
ColorData();
dataGridView1.Refresh();
}
public void ColorData()
{
dataGridView1[0, 0].Style.BackColor = Color.LightGreen;
}
private void button1_Click(object sender, EventArgs e)
{
ColorData();
}
}
ご覧のとおり、関数 ColorData は 2 回呼び出しますが、コンストラクターから呼び出されると、何も起こらず、セルはまだ白です。イベント関数である button1_Click から呼び出すと、セルが正しく色付けされます。
どうしたの?