-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Как отменить событие mouse click datagridview

Пятница, 24 Июня 2016 г. 11:58 + в цитатник
Доброго всем дня!
У меня возникла проблема с обработкой события мыши.
Дело в том, что сделал свой cells DataGridViewTextButtomCell : DataGridViewTextBoxCell ,
В этом контроле мне по определенным координатам мыши в функции ниже надо прервать глобальное выполнение MouseClick.

protected override void OnMouseClick(DataGridViewCellMouseEventArgs e)
{

if ((this.DataGridView.GetCellDisplayRectangle(this.ColumnIndex, this.RowIndex, false).Width - 20) > e.X)
{
прерывание
}
else
{
base.OnMouseClick(e);

}

}
На сколько я понимаю, делегирование идет от DataGridView -> DataGridViewCell.
По сути я хочу чтобы прерывание события было именно в DataGridViewCell, чтобы не нагружать кодом DataGridView.

Если кто знает подскажите пожалуйста как изменить делегирование?


как вариант пробовал
FieldInfo eventClickField = typeof(Control).GetField("EventClick", BindingFlags.Public | BindingFlags.Instance);
EventHandler eventClick = (EventHandler)eventClickField.GetValue((Control)this.DataGridView);
this.DataGridView.Click -= (EventHandler)eventClick;

eventClickField всегда показывает null.
Не понятно в каком месте код надо прописывать? В Form? DataGridView?

также пробовал
EventDescriptor ed = TypeDescriptor.GetEvents(this.DataGridView).Find("CellMouseClick",true);
Delegate delegateT = Delegate.CreateDelegate(typeof(EventHandler), this.DataGridView, "DataGridAlex_CellMouseClick");
if(ed!=null)
ed.RemoveEventHandler(this.DataGridView, delegateT);
на второй строке вызывает исключение
Additional information: Не удается привязать целевой метод, поскольку его сигнатура или прозрачность безопасности несовместима с сигнатурой или прозрачностью безопасности типа делегата.

В этом случае как можно снять исключение?

Заранее спасибо!

http://www.sql.ru/forum/1219649/kak-otmenit-sobytie-mouse-click-datagridview


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку