Как выполнить событие cellclick datagridview из события нажатия клавиши datagriview? - PullRequest
0 голосов
/ 22 февраля 2012
     private void item_grid_CellClick(object sender, DataGridViewCellEventArgs e)
    {
         if (e.ColumnIndex==taxone_col_index || e.ColumnIndex==taxtwo_col_index)
        {


        }

    }

    private void item_grid_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (e.KeyChar == (char)Keys.Return)
        {
            e.Handled = true;

           item_grid.CellClick; // i did this but its not working            }
    }

Я хочу выполнить событие щелчка ячейки из события нажатия клавиши.как это сделать?

1 Ответ

2 голосов
/ 22 февраля 2012

Звучит так, будто вы хотите знать индекс строки и столбца ячейки, в которой нажата клавиша. После этого вы сможете найти значение ячейки.

КомуДля этого просто используйте свойство CurrentCell DataGridView.

. Попытка искусственно создать CellClick просто вызывает проблемы.

Следует отметить, что вы, вероятно,необходимо обработать событие EditingControlShowing и присоединить обработчик KeyPress к базовому элементу управления для редактирования, поскольку ввод в ячейку DataGridView не поднимает уровень сетки KeyPress.


Если вы действительно хочет создать событие CellClick, которое вам потребуется для создания подкласса элемента управления DataGridView и создать собственный метод RaiseCellClick(), который затем вызывает защищенный метод OnCellClick():

public void RaiseCellClick(int row, int column)
{
    DataGridViewCellEventArgs e = new DataGridViewCellEventArgs(row, column);
    base.OnCellClick(e);
}

Но даже это не особенно вам помогает, поскольку DataGridViewCellEventArgs должен взять индексы строк и столбцов в своем конструкторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...