我的表单上有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调用两次,但是当它从构造函数调用时 - 没有任何反应,单元格仍然是白色的。从button1_Click调用,这是事件函数,正确地为单元格着色。
什么事?
答案 0 :(得分:0)
我自己找到了答案。 首先 - 表单应该加载,然后才能更改单元格的颜色。 我在主要表单的事件 - 函数Load中更改颜色,一切正常。