|
Как отменить событие mouse click datagridview
|
|||
---|---|---|---|
#18+
Доброго всем дня! У меня возникла проблема с обработкой события мыши. Дело в том, что сделал свой 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: Не удается привязать целевой метод, поскольку его сигнатура или прозрачность безопасности несовместима с сигнатурой или прозрачностью безопасности типа делегата. В этом случае как можно снять исключение? Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2016, 11:58 |
|
Как отменить событие mouse click datagridview
|
|||
---|---|---|---|
#18+
Извиняюсь не на тот форум написал ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2016, 12:11 |
|
Как отменить событие mouse click datagridview
|
|||
---|---|---|---|
#18+
Уважаемые Модераторы удалите пост пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
24.06.2016, 12:15 |
|
|
start [/forum/topic.php?fid=45&msg=39261672&tid=1613431]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 329ms |
total: | 456ms |
0 / 0 |