Вы не можете надежно удалить обработчик события из события, если у вас уже нет «равного» делегата, который вы можете использовать с -=
обычным способом.
Получение полей с отражением и взлом на них - явное нарушение инкапсуляции , а делает ваш код чрезвычайно хрупким. Я бы настоятельно рекомендовал бы не делать этого.
Непонятно, что вы подразумеваете под "vgridcontrols" (DataGridView
?), Но какое бы решение вы ни предложили, оно будет зависеть от реализации - и эта реализация может легко измениться в следующей версии, какой бы она ни была.
Вместо этого, уделите время разработке проекта, в котором либо вам вообще не нужно удалять обработчик событий, либо вы сохраняете ссылку на обработчик и можете удалить его обычным способом.