在tabpanel中更改datagridview的单元格的颜色

时间:2014-11-11 08:33:24

标签: c# winforms datagridview tabs

我有一个带有两个tabPanel的tabControl。 tabPanel包含一个datagridview,我试图改变单元格的颜色。 如果我改变第一个tabPanel中包含的第一个数据网格的颜色,它就可以工作。但是,如果我对其他tabPanel做同样的事情,代码就什么都不做。

 dgvInTheFirstTabPanel.Rows[0].Cells[6].Style.BackColor = Color.Yellow;

这项工作很好,但是......

dgvInTheSecondTabPanel.Rows[0].Cells[6].Style.BackColor = Color.Yellow;

这没有用,我认为问题在于标签面板的更改是否有效。

2 个答案:

答案 0 :(得分:0)

我解决了这个问题,如果你没有在其中一个内部点击,就会出现一个无法识别标签的错误。为了解决这个问题,您可以在表单的加载中执行此操作。通过这种方式,您可以修改其他选项卡中包含的对象。

private void main_Load(object sender, EventArgs e)
    {
    //Scan all tabs
                tabControl1.SelectedTab = tabControl1.TabPages[1];
                tabControl1.SelectedTab = tabControl1.TabPages[2];
                tabControl1.SelectedTab = tabControl1.TabPages[0];
    ...
    }
     Best regards

然后,您可以修改单元格的颜色或dataGrid的其他属性。

答案 1 :(得分:0)

tabControl1.SelectedTab = 0 
dgvInTheFirstTabPanel.Rows[0].Cells[6].Style.BackColor = Color.Yellow;

tabControl1.SelectedTab = 1
dgvInTheSecondTabPanel.Rows[0].Cells[6].Style.BackColor = Color.Yellow;