// удалить помеченные файлы...
        public void DeleteCheckedFiles(ref BackgroundWorker bw, ref DoWorkEventArgs e, ListView lvResult)
        {
            int i = 0;

            ListView.CheckedListViewItemCollection checkedItems = lvResult.CheckedItems;
            foreach (ListViewItem lvi in checkedItems)
            {
                // Проверить флаг на остановку процесса
                if ((bw.CancellationPending))
                {
                    e.Cancel = true;                     // Выставить окончание - по отмене, сработает событие bwcmd_RunWorkerCompleted
                    return;
                }
                else
                {
                    string sFilePath = lvi.Text;
                    if (File.Exists(sFilePath))
                    {
                        File.Delete(sFilePath);
                        MiscListView.deleteAllItemForNonExistFileWithCounter(lvResult, lvi, m_Fast);
                        m_bFilesWorked |= true;
                    }
                    bw.ReportProgress(++i);
                }
            }
        }
        // =============================================================================================
        //                  Реализация Copy/Move/Delete помеченных книг
        // =============================================================================================
        #region  еализация Copy/Move/Delete помеченных книг
        // копировать или переместить файлы в...
        public void CopyOrMoveCheckedFilesTo(ref BackgroundWorker bw, ref DoWorkEventArgs e,
                                             bool IsCopy, string SourceDir, string TargetDir,
                                             ListView lvResult, int nFileExistMode)
        {
            int i = 0;

            ListView.CheckedListViewItemCollection checkedItems = lvResult.CheckedItems;
            foreach (ListViewItem lvi in checkedItems)
            {
                // Проверить флаг на остановку процесса
                if ((bw.CancellationPending))
                {
                    e.Cancel = true;                     // Выставить окончание - по отмене, сработает событие bwcmd_RunWorkerCompleted
                    return;
                }
                else
                {
                    string FilePath = lvi.Text;
                    // есть ли такая книга на диске? Если нет - то смотрим следующую
                    Regex rx = new Regex(@"\\+");
                    FilePath = rx.Replace(FilePath, "\\");
                    if (File.Exists(FilePath))
                    {
                        string   NewPath = Path.Combine(TargetDir, Path.GetFileName(FilePath));
                        FileInfo fi      = new FileInfo(NewPath);
                        if (!fi.Directory.Exists)
                        {
                            Directory.CreateDirectory(fi.Directory.ToString());
                        }

                        if (File.Exists(NewPath))
                        {
                            if (nFileExistMode == 0)
                            {
                                File.Delete(NewPath);
                            }
                            else
                            {
                                NewPath = filesWorker.createFilePathWithSufix(NewPath, nFileExistMode);
                            }
                        }

                        if (IsCopy)
                        {
                            File.Copy(FilePath, NewPath);
                        }
                        else
                        {
                            File.Move(FilePath, NewPath);
                            MiscListView.deleteAllItemForNonExistFileWithCounter(lvResult, lvi, m_Fast);
                        }

                        m_bFilesWorked |= true;
                        bw.ReportProgress(++i);                           // отобразим данные в контролах
                    }
                }
            }
        }