// Уведомляет подписанные на событие объекты protected virtual void OnProgressChanged(NearestNeighbourChangesEventArgs e) { EventHandler <NearestNeighbourChangesEventArgs> tmp = eventProgressChanged; if (tmp != null) { tmp(this, e); } }
// Метод, вызывающий событие protected virtual void tmrTimer_Elapsed(object sender, EventArgs e) { //wh.WaitOne(); int iPercent = 0; //Подсчитываем процент прогресса if (maxTime > 0) { decimal dPercent = (decimal)curTime * 100 / maxTime; iPercent = (int)dPercent; //только целые значения | а какие ещё могут быть в int?! } else { } NearestNeighbourChangesEventArgs eee = new NearestNeighbourChangesEventArgs(iPercent, false); OnProgressChanged(eee); // да, еее - это по-мудацки! //wh.Set(); }