Файловый менеджер: скопировать выделенную папку в другое место - 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);
}
}
}
}