проблема с делегатами в 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. И всё заработало как ни в чём не бывало. Может кто знает в чём проблема?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.