проблема с делегатами в c#2.0, вынесенными к член класса
От: FrozenSky  
Дата: 11.09.06 15:16
Оценка:
проблема следующая.
существует класс



public class A
{

   private DataGridView dgvCurent;

   public A(ref DataGridView _dgv)
      {
         dgvCurent = _dgv;
         dgv.CellContentClick += new DataGridViewCellEventHandler(func1);
      }


   private void func1(object sender, DataGridViewCellEventArgs e)
      { //метка1
         <...code...>
      } //метка2

}


Далее... в некотором классе В (например в лавной форме) создаётся экземпляр данного класса А и в его конструкторе пеедаётся указатель на некий DataGridView. Однако, когда происходит событие. описанное данным делегатом происходит следующее:
функция func1 выполняется несколько раз, причём количество итераций постоянно разное... когда я начал проверять в чём там дело — оказалось, что программа, доходя до строки "//метка 2" сразу, невыходя из тела функции идёт на строку "//метка 1", непонятно почему. Само собой, что кликаю я по кнопке один раз))
далее, провёл эксперимент, вынес функцию func1 и сделал её членом класса B. И всё заработало как ни в чём не бывало. Может кто знает в чём проблема?
Re: проблема с делегатами в c#2.0, вынесенными к член класса
От: TK Лес кывт.рф
Дата: 11.09.06 18:02
Оценка: +1 -1
Hello, "FrozenSky"

> Далее... в некотором классе В (например в лавной форме) создаётся экземпляр данного класса А и в его конструкторе пеедаётся указатель на некий DataGridView. Однако, когда происходит событие. описанное данным делегатом происходит следующее:

> функция func1 выполняется несколько раз, причём количество итераций постоянно разное... когда я начал проверять в чём там дело — оказалось, что программа, доходя до строки "//метка 2" сразу, невыходя из тела функции идёт на строку "//метка 1", непонятно почему. Само собой, что кликаю я по кнопке один раз))
> далее, провёл эксперимент, вынес функцию func1 и сделал её членом класса B. И всё заработало как ни в чём не бывало. Может кто знает в чём проблема?

Наверное, подписка делается несколько раз.
Posted via RSDN NNTP Server 2.0
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.