Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как снять обработчик с события 
:(
    Опции темы
albert21
  Дата 20.4.2006, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 10.1.2006

Репутация: нет
Всего: нет



Подскажите пожалуйста как можно снять обработчик с события

Код

this.dataGridParent.CellMouseDown += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dataGridReader_CellMouseDown);


не просто this.dataGridParent.CellMouseDown -= new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dataGridReader_CellMouseDown);

а чтобы что-то вроде null было 
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939
PM MAIL   Вверх
ivashkanet
Дата 21.4.2006, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(albert21 @  20.4.2006,  21:18 Найти цитируемый пост)
не просто this.dataGridParent.CellMouseDown -= new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dataGridReader_CellMouseDown);

а чтобы что-то вроде null было 

Не знаю что ты этим имел в веду, но можно снять обработчик в дизайнере:
Открываешь пропетесы грида, находишь свое событие, правая кнопка, ресет. Все.

Есть еще вариант: 
Открываешь FormX.Disigner.cs, там находишь то место в котором обработчик ставится и удаляешь эту строчку.
 smile  
PM MAIL WWW ICQ   Вверх
VisualProgrammerNET
Дата 21.4.2006, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



А зачем именно null?  


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
ivashkanet
Дата 21.4.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(VisualProgrammerNET @  21.4.2006,  14:46 Найти цитируемый пост)
А зачем именно null?  


2 VisualProgrammerNET, а ты понял о чем albert21 говорит??? 
PM MAIL WWW ICQ   Вверх
albert21
Дата 22.4.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 166
Регистрация: 10.1.2006

Репутация: нет
Всего: нет



Вы правы, проблема специфическая, я её обошёл! Я в программе в зависимости от условий вручную, а не с помощью дизайнера вешал различные обработчики и обнаружил, на мой взгляд странную вещь! Если в проге насколько раз повторить такую строку:
Код

this.dataGridParent.CellMouseDown += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dataGridReader_CellMouseDown);
this.dataGridParent.CellMouseDown += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dataGridReader_CellMouseDown);
this.dataGridParent.CellMouseDown += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dataGridReader_CellMouseDown);


А в обработчике dataGridReader_CellMouseDown показывать какую-нибудь форму, то при наступлении события dataGridParent.CellMouseDown эта форма отобразится три раза (количество повторений строки см выше исходный код)

Вроде правильно написал smile
Вообщем проблема уже не интересует 
--------------------
http://www.certifications.ru/publicresults.php?tu_id=45939
PM MAIL   Вверх
Дрон
Дата 22.4.2006, 19:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 93



albert21, 
Цитата(albert21 @  22.4.2006,  18:48 Найти цитируемый пост)
А в обработчике dataGridReader_CellMouseDown показывать какую-нибудь форму, то при наступлении события dataGridParent.CellMouseDown эта форма отобразится три раза

Правильно.

При этом гораздо более любопытен тот факт, что если ты попробуешь отписаться:
Код

this.dataGridParent.CellMouseDown -= new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dataGridReader_CellMouseDown);

то он отпишется сразу от всех трёх копий события. В общем, на мой взгляд, это небольшой косяк в дизайне фрэймворка. 


--------------------
Да. Именно так.
PM   Вверх
ivashkanet
Дата 22.4.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(albert21 @  22.4.2006,  17:48 Найти цитируемый пост)
Вы правы, проблема специфическая, я её обошёл!

Так и не понял в чем была проблема  smile  
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.2932 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.