Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как отменить событие mouse click datagridview / 4 сообщений из 4, страница 1 из 1
24.06.2016, 11:58
    #39261672
saley
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отменить событие mouse click datagridview
Доброго всем дня!
У меня возникла проблема с обработкой события мыши.
Дело в том, что сделал свой 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: Не удается привязать целевой метод, поскольку его сигнатура или прозрачность безопасности несовместима с сигнатурой или прозрачностью безопасности типа делегата.

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

Заранее спасибо!
...
Рейтинг: 0 / 0
24.06.2016, 12:11
    #39261684
saley
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отменить событие mouse click datagridview
Извиняюсь не на тот форум написал
...
Рейтинг: 0 / 0
24.06.2016, 12:15
    #39261689
saley
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отменить событие mouse click datagridview
Уважаемые Модераторы удалите пост пожалуйста
...
Рейтинг: 0 / 0
24.06.2016, 12:41
    #39261724
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как отменить событие mouse click datagridview
saley, куда перенести топик?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как отменить событие mouse click datagridview / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]