DataGridView选项卡内部的控件索引顺序

时间:2013-11-28 07:27:06

标签: c# winforms

全部,我使用下面的代码在DataGridView中添加一个全选复选框。到目前为止它工作正常。但仍然有选项卡索引顺序的问题。请查看它。

        for (int i = 0; i < 3; i++)
        {
            dataGridView1.Rows.Add();
            DataGridViewRow row = (DataGridViewRow)dataGridView1.Rows[i];


            row.Cells[0].Value = true;
            row.Cells[1].Value = "cell";
            row.Cells[2].Value = "cell"; 
        }
        Rectangle rect =
            this.dataGridView1.GetCellDisplayRectangle(0, -1, true);

        checkBox1.Location = rect.Location;
        checkBox1.Left = 9;
        checkBox1.Top = 3;

        dataGridView1.Controls.Add(checkBox1);

设计时间中我想要的标签顺序设置如下所示。

enter image description here

但是在运行时。标签顺序很奇怪。复选框选项卡顺序始终位于DataGridView的所有单元格后面。如果该复选框未包含在网格中。订单没问题。它将遵循设计顺序。 有什么办法可以解决吗?谢谢。 enter image description here

1 个答案:

答案 0 :(得分:0)

我认为通过将checkBox1移动到dataGridView控件集合中可以打破顺序。然后,您应该处理该控件中的选项卡。可以通过创建自定义DataGridView并重写ProcessTabKey方法来完成See