Я не уверен на 100%, что понимаю ваш вопрос, поскольку вы в основном отвечаете на него сами в заголовке вопроса.
DataGridView предоставляет несколько событий, которые обрабатывают двойной щелчок, в том числе, как вы упомянули, ColumnHeaderMouseDoubleClick
.
Два события, на которые я бы посмотрел: ColumnHeaderMouseDoubleClick
и CellDoubleClick
, где разница между ними заключается в том, что с ColumnHeaderMouseDoubleClick
вы получаете только событие, в котором строка заголовка дважды щелкается, аCellDoubleClick
поднято для всей сетки.(ну, также, в версии для мыши вы можете захватывать больше, чем просто левую кнопку мыши).
Ниже приведены обработчики для каждого из этих событий, оба из которых имеют свой собственный объект Args, который можно использовать дляполучить индекс столбца, который вы ищете.
private void dataGridView1_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
MessageBox.Show(dataGridView1.Columns[e.ColumnIndex].Name);
}
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show(dataGridView1.Columns[e.ColumnIndex].Name);
}
Дополнительный вопрос о поиске в большом файле Excel действительно заслуживает отдельного вопроса - вам нужно дать немного больше информации о содержимом этого файла.и откуда это взять, чтобы получить лучший ответ.