Файловый менеджер: скопировать выделенную папку в другое место - C#

Узнай цену своей работы

Формулировка задачи:

Делаю файловый менеджер нужно скопировать выделенную папку в другое место помогите плиз!!!

Решение задачи: «Файловый менеджер: скопировать выделенную папку в другое место»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//Добавить в дерево Удаление переминомание File.    
//сделать в лист вю по выбору в комбобоксе диска отобразить содержимое в нем
//Сделать ф-цию копирования
using System.IO;
 
namespace WF_MyExplorer
{
    public partial class Form1 : Form
    {
        String pathcb, pathcb2;
        Stack<string> prev = new Stack<string>();
        Stack<string> next = new Stack<string>();
        Stack<string> prev1 = new Stack<string>();
        Stack<string> next1 = new Stack<string>();
        bool flaq = false;
        bool flaq1 = false;
        bool flaf = true;
        bool flaf1 = true;
        bool pos = false;
        bool pos1 = false;
        bool pos2 = false;
        bool pos3 = false;
        string posFolder;
        string posCopFolder;
        public Form1()
        {
            InitializeComponent();
  }
 
        private void CopyDir(DirectoryInfo soursDir, DirectoryInfo destDir)
        {
            while (true)
            {
                CreateDir(soursDir, destDir);
 
                //теперь проверяем наличие в ней папок
                DirectoryInfo[] dirs = soursDir.GetDirectories();
                if (dirs.Length > 0)
                {
                    foreach (DirectoryInfo di in dirs)
                    {
                        DirectoryInfo dir = new DirectoryInfo(destDir.FullName.ToString() + "\\" +di.Name.ToString());
                        CopyDir(di, dir);
                    }
                    break;
                }
                else break;
            }
        }
 
        //создаем папку
        private void CreateDir(DirectoryInfo soursDir, DirectoryInfo destDir)
        {
            if (!destDir.Exists) destDir.Create();
            //  Directory.CreateDirectory(
            //проверяем наличие файлов
            FileInfo[] fls = soursDir.GetFiles();
            if (fls.Length > 0) //копируем если есть
                foreach (FileInfo fi in fls)
                    fi.CopyTo(destDir.FullName.ToString() + "\\" + fi.Name.ToString(), true);
        }
        /****************************************||||||||||||||||||||***********************************/
        private void toolStripButton4_Click(object sender, EventArgs e)
        {
            //listView1.SelectedItems
                foreach (ListViewItem item in listView1.SelectedItems)
                {
                    posFolder = label1.Text+item.Text;
                }
            
        }
                /****************************************||||||||||||||||||||***********************************/
 
 
        private void toolStripButton8_Click_1(object sender, EventArgs e)
        {
            if (listView1.Focused)
            {
                DirectoryInfo soursDir = new DirectoryInfo(posFolder);
                DirectoryInfo destDir = new DirectoryInfo(label1.Text);
                CopyDir(soursDir, destDir);
                listView1.Items.Clear();
                ListWievAdd(listView1, label1.Text);
            }
            else
                if (listView2.Focused)
                {
                    DirectoryInfo soursDir = new DirectoryInfo(posFolder);
                    DirectoryInfo destDir = new DirectoryInfo(label2.Text);
                    CopyDir(soursDir, destDir);
                    listView2.Items.Clear();
                    ListWievAdd(listView2, label2.Text);
                }
        }
 
       
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы