DoubleClick Handler

  • Thread starter Thread starter Looch
  • Start date Start date
L

Looch

Hi All,

Am just getting into handlers at the moment and had a question. How
would I write the code (the 'public void example handles cell
doubleclick...) for a method to handle a double click in any cell of a
particular datgridview column?

Thanks for any help.
 
There's two steps :

1. Add a new event handler to the CellDoubleClick event of your datagrid :

dataGridView1.CellDoubleClick += new
System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);

2. Create the event handler method dataGridView1_CellDoubleClick

private void dataGridView1_CellDoubleClick(object sender,
DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 3)
// TODO
}

Using the column index is not a good solutin, you can get the instance of
the DataGridViewColumn from the Columns property of your DataGrid like this :
dataGridView1.Columns["MyColumn"]
and then use the Index property of the returned column.
 
Vko said:
There's two steps :

1. Add a new event handler to the CellDoubleClick event of your datagrid :

dataGridView1.CellDoubleClick += new
System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);

2. Create the event handler method dataGridView1_CellDoubleClick

private void dataGridView1_CellDoubleClick(object sender,
DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == 3)
// TODO
}

Using the column index is not a good solutin, you can get the instance of
the DataGridViewColumn from the Columns property of your DataGrid like
this :
dataGridView1.Columns["MyColumn"]
and then use the Index property of the returned column.

Or retrieve dataGridView1.Columns[e.ColumnIndex] and then do whatever tests
you need.

However, I think you can set event handlers on a per-table, per-column,
per-row, and per-cell basis, so setting the handler for just one column
might be best.
 
Back
Top