как остановить событие двойного щелчка в сетке данных? - PullRequest
6 голосов
/ 06 февраля 2012

У меня есть datagridview , в котором один из столбцов является флажком.Я обрабатываю событие CellContentClick , чтобы обновлять информацию каждый раз, когда пользователь устанавливает или снимает один из флажков.Работает отлично.Моя проблема в том, что, когда я дважды щелкаю флажок CellContentClick , а затем CellContentDoubleClick после этогоЯ хочу отменить вызов для CellContentDoubleClick .Есть ли способ сделать это?

Ответы [ 3 ]

1 голос
/ 06 февраля 2012

Вы можете удалить обработчик событий из таблицы данных.

     EventHandler eventHandler = new EventHandler(YourdataGridview_CellContentDoubleClick);
     YourdataGridview.CellContentDoubleClick -= eventHandler; 
0 голосов
/ 31 мая 2012

Как насчет этого:

public class MyDataGridView : DataGridView
{
    protected override void OnCellContentDoubleClick(DataGridViewCellEventArgs e)
    {
        base.OnCellContentClick(e);
    }
}
0 голосов
/ 18 февраля 2012

Вы можете создать свой собственный класс, который наследует от DataGridView, и переопределить метод, который будет вызывать событие, чтобы оно не вызывалось.

public class MyDataGridView : DataGridView
{
    protected override viod OnCellContentDoubleClick(
DataGridViewCellEventArgs e)
    {
        // by having no code here and not 
        // calling base.OnCellContentDoubleClick(e);
        // you prevent the event being raised
    }
}

См. http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.oncellcontentdoubleclick.aspx

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