예제 #1
0
        // Метод, вызывающий событие
        protected virtual void tmrTimer_Elapsed(object sender, EventArgs e)
        {
            //wh.WaitOne();

            double number = 0.0;
            string label  = "";

            // Формируем данные для события
            if (_parameters.EndType == AntAlgorithmEndType.Iteration)
            {
                //Подсчитываем процент прогресса
                number = curTime * 100 / maxTime; //только целые значения
                label  = "%";
            }
            if (_parameters.EndType == AntAlgorithmEndType.Convergence)
            {
                // Количество итераций
                number = iteration;
                label  = " итераций";
            }

            AntAlgChangesEventArgs eee = new AntAlgChangesEventArgs(number, false, label);

            OnProgressChanged(eee); // да, еее - это по-мудацки!

            //wh.Set();
        }
예제 #2
0
 private void ProgressChange(object sender, AntAlgLogic.AntAlgChangesEventArgs e)
 {
     //пересылка сообщения
     if (eventProgressChanged != null)     //проверяем наличие подписчиков
     {
         eventProgressChanged(this, (int)e.Percent, e.Label);
     }
 }
예제 #3
0
        // Уведомляет подписанные на событие объекты
        protected virtual void OnProgressChanged(AntAlgChangesEventArgs e)
        {
            EventHandler <AntAlgChangesEventArgs> tmp = eventProgressChanged;

            if (tmp != null)
            {
                tmp(this, e);
            }
        }