如何以编程方式单击DataGridView的单元格?

时间:2015-06-02 09:57:09

标签: c# datagridview

我有一个方法datagridview_cellclick,当我点击一个单元格时,它会将dataGridView中的所有内容放入变量中。 所以没问题。

但我想在我的程序启动时自动点击同一DataGridView的第一个单元格。不要用鼠标点击自己,但是当创建带有dataGridView的表单时,程序会点击第一个单元格。

这个点击会调用上面的方法,所以即使我没有点击第一个单元格,我也会设置变量。 我不确定这是否清楚。 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

假设使用了Windows窗体

Pretty Naive方法是使用必需参数集来调用函数:

dataGridView1_CellClick(this.dataGridView1, new DataGridViewCellEventArgs(0, 0));

虽然我不确定您在CellClickEvent中做了什么,因为这可以改变您想要访问单元格的方式(或对该单元格执行某些操作)。为了完整起见,我做了什么:

  public Form1()
    {
        InitializeComponent();
        dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[0];
        dataGridView1_CellClick(this.dataGridView1, new DataGridViewCellEventArgs(0, 0));
    }

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        MessageBox.Show("" + e.ColumnIndex + e.RowIndex);
    }

答案 1 :(得分:0)

datagridview_cellclick中的逻辑重构为单独的函数,然后使用DataGridView.CurrentCell设置单元格焦点。您可以在Form_Load

中进行设置
if (DataGridView.Rows.Count >= 0)
{
    // Set the first cell
    DataGridView.CurrentCell = DataGridView.Rows(0).Cells(0);
    // Cell logic
    UserSelectedCell(DataGridView.CurrentCell);
}