将当前单元格视图放在datagridview c#

时间:2018-09-25 10:04:06

标签: c# datagridview center

如何在datagridview中以选定的当前单元格为中心视图?

例如,我有这样的datagridview:

 for (int i = 0; i < 200; i++)
            {

                dataGridView1.Columns.Add("X" + i, "X" + i);
                dataGridView1.Columns[i].Width = 30;
                this.dataGridView1.Columns[i].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
                dataGridView1.Rows.Add("Y" + i);
                //  dataGridView1.Rows[i].Cells[i].Value = "X";
                dataGridView1.DefaultCellStyle.SelectionBackColor = Color.HotPink;
                dataGridView1.DefaultCellStyle.BackColor = Color.Red;
            }


            for (int kolumna = 0; kolumna < 200; kolumna++)
            {
                for (int i = 1; i < 200; i++)
                {
                    dataGridView1.Rows[kolumna].Cells[i].Value = "X";
                }
            }

它看起来像: enter image description here

如何在datagridview中居中选择当前的单元格? 我搜索了很多,找不到解决方案。 例如,我要选择行/单元格100/100。

我尝试

this.dataGridView1.CurrentCell = this.dataGridView1[100,100];

但是它只显示在我的datagridview的右下方。

结果应如下所示: CELL [100 / row100]以datagridview中的视图为中心。 有可能吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

 private void dataGridView1_SelectionChanged(object sender, EventArgs e)
        {
            try
            {
                dataGridView1.FirstDisplayedScrollingRowIndex = selectedrow - 9;
                dataGridView1.FirstDisplayedScrollingColumnIndex = selectedcolumn - 15;
            }
            catch { };
        }

一切皆有可能。所选行更改时,此事件将使您的数据集中。