/// <summary> /// Изменяет прогресс выполнения текущего действия. /// </summary> /// <param name="sender">Источник изменения прогресса действия.</param> public void ChangeProgressStatus(ITimer sender) { var newMessengerEventsArgs = _messengerState; newMessengerEventsArgs.ActionProgress = GetPercent(sender.TickState, sender.TickNumber); MessengerState = newMessengerEventsArgs; }
/// <summary> /// Изменяет состояние текущего действия. /// </summary> /// <param name="stateMessage">Новое состояние действия.</param> public void ChangeStateMessage(string stateMessage) { var newMessengerEventsArgs = _messengerState; newMessengerEventsArgs.ActionState = stateMessage; MessengerState = newMessengerEventsArgs; }
/// <summary> /// Задает последовательность действий, выполняемых при изменении состояния /// любого Action /// </summary> /// <param name="sender"></param> /// <param name="args"></param> private void MessengerStateChanged(IMessenger sender, MessengerEventsArgs args) { if (listView.InvokeRequired) { listView.Invoke(new MessengerEventHandler(MessengerStateChanged), new object[] {sender, args}); } else { if (!IsStartOrEnd(args.ActionName)) WriteToLog(args.ActionName + " \n"); foreach (ListViewItem item in listView.Items) { if (item.Text != args.ActionName) { continue; } // Изменение статусов и подписей на форме item.SubItems[1].Text = args.ActionState; item.SubItems[2].Text = string.Format("{0}%", args.ActionProgress); if (args.ActionProgress == 100) { item.ImageKey = "isReady"; //ставит новую картинку возде экшена } } } }