//Изменен состояние синхронизации
        void sinchronize_OnChangeSinchronizeStatus(Sinchronize sender, SinchronizeStatus status)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new ChangeSinchronizeStatus(sinchronize_OnChangeSinchronizeStatus), new object[] { sender, status });
                return;
            }

            switch (status)
            {
                case SinchronizeStatus.SinchronizeStarted: // начало синхронизации
                    notifyIcon.Text = "Sinchosaur\nИдет синхронизация";
                    progressForm =new ProgressForm(sender.SinchronizeFileProgressInfo) ;
                    notifyIcon.Icon = Resurces.package_update;
                    timerSinchronize.Enabled = false;
                    logger.Info("Синхронизация начата");
                    break;

                case SinchronizeStatus.SinchronizeFinished: // если синхронизация закончена
                    progressForm.Dispose();
                    notifyIcon.Icon = Resurces.package_ok;
                    timerSinchronize.Enabled = true;
                    logger.Info("Синхронизация завершена");
                    break;

                case SinchronizeStatus.ServerNotAvailable: // сервер не доступен
                    notifyIcon.Text = "Sinchosaur\nСервер не доступен";
                    progressForm.Dispose();
                    notifyIcon.Icon = Resurces.package_bad;
                    timerSinchronize.Enabled = true;
                    logger.Trace("Сервер не доступен");
                    break;

                case SinchronizeStatus.NoFilesChanges: // нет изменений
                    notifyIcon.Text = "Sinchosaur\nВсе файлы синхронизированы";
                    notifyIcon.Icon = Resurces.package_ok;
                    timerSinchronize.Enabled = true;
                    logger.Trace("Все файлы синхронизированы");
                    break;

                case SinchronizeStatus.GetServerFilesList: // Получение списка файлов на сервере
                    timerSinchronize.Enabled = false;
                    progressForm.Dispose();
                    break;

                case SinchronizeStatus.UserNotExist: // Такой пользователь не существует на сервере
                    timerSinchronize.Enabled = false;
                    notifyIcon.Icon = Resurces.package_bad;
                    notifyIcon.ShowBalloonTip(200, "Sinchosaur", "Такой пользователь не существует", ToolTipIcon.Info);
                    logger.Warn("Такой пользователь не существует");

                    SettingForm settingsForm = new SettingForm();
                    settingsForm.Disposed += new EventHandler(settingsForm_Deactivate);
                    settingsForm.Activate();
                    settingsForm.Show();
                    break;
                case SinchronizeStatus.ServerUrlNotCorrect: // Такой пользователь не существует на сервере
                    timerSinchronize.Enabled = false;
                    notifyIcon.Icon = Resurces.package_bad;
                    notifyIcon.ShowBalloonTip(200, "Sinchosaur", "Указан не корректный ip-адрес сервера", ToolTipIcon.Info);
                    logger.Warn("Указан не корректный ip-адрес сервера");

                    settingsForm = new SettingForm();
                    settingsForm.Disposed += new EventHandler(settingsForm_Deactivate);
                    settingsForm.Activate();
                    settingsForm.Show();
                    break;

             }
        }
        //--------------------------------------------------------------------------------
        //--------------------------------------------------------------------------------
        private void buttonDownload_Click(object sender, EventArgs e)
        {
            if (listUserEvents.SelectedItems.Count == 0)
                MessageBox.Show("Вы должны выбрать файл!");
            else
            {
                ListViewItem item = listUserEvents.SelectedItems[0];

                string fileName = item.SubItems[1].Text;

                SaveFileDialog dlg = new SaveFileDialog()
                {
                    RestoreDirectory = true,
                    OverwritePrompt = true,
                    Title = "Сохранить как...",
                    FileName = fileName
                };

                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    if (!string.IsNullOrEmpty(dlg.FileName))
                    {
                        SinchronizeFileProgressInfo.File = new MyFile
                        {
                            Name = fileName,
                            Path = dlg.FileName,
                            Size = Convert.ToInt64(item.SubItems[5].Text),
                            IsDirectory = false,
                        };
                        selectedFileId = Convert.ToInt32(item.SubItems[6].Text);
                        progressForm = new ProgressForm(SinchronizeFileProgressInfo);
                        backgroundDownloader.RunWorkerAsync(SinchronizeFileProgressInfo.File);
                    }
                }
            }
        }