Hello, "FrozenSky"
> Далее... в некотором классе В (например в лавной форме) создаётся экземпляр данного класса А и в его конструкторе пеедаётся указатель на некий DataGridView. Однако, когда происходит событие. описанное данным делегатом происходит следующее:
> функция func1 выполняется несколько раз, причём количество итераций постоянно разное... когда я начал проверять в чём там дело — оказалось, что программа, доходя до строки "//метка 2" сразу, невыходя из тела функции идёт на строку "//метка 1", непонятно почему. Само собой, что кликаю я по кнопке один раз))
> далее, провёл эксперимент, вынес функцию func1 и сделал её членом класса B. И всё заработало как ни в чём не бывало. Может кто знает в чём проблема?
Наверное, подписка делается несколько раз.
Posted via RSDN NNTP Server 2.0
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
проблема следующая.
существует класс
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. И всё заработало как ни в чём не бывало. Может кто знает в чём проблема?