首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

winform解决方案

2012-09-07 
winform请问一下 、 、问一下、 。那那些 帮助文档看 、 、关于winform、 、 我现在用folderBrowserDialog1.Select

winform
请问一下 、 、 问一下 、 。那那些 帮助文档看 、 、


关于winform、 、 我现在用folderBrowserDialog1.SelectedPath; 获取一个目录 、 、我想把这个 目录下的文件 copy 到 另一个 地方 ( 例如:f盘\\新建文件夹) 怎么实现 ???谢谢谢 、、 、

[解决办法]

C# code
下面是一段源代码,个别地方需要修正      类变量              private   static   int   total   =   0;              private   int   FileNumber   =   0;     //文件夹文件总数                              调用          CopyDirectory(codeSourcePath   +   @"Site/",virtualDirPath   +   @"Site"   +   Path.DirectorySeparatorChar,statusForm);                          ///   <summary>              ///   复制文件夹              ///   </summary>              ///   <param   name="sourceDirName">源文件夹</param>              ///   <param   name="destDirName">目标文件夹</param>              ///   <param   name="statusWinForm">状态窗口</param>                   //复制文件夹                           public   void   CopyDirectory(   string   sourceDirName,   string   destDirName,StatusWin   statusWinForm)              {                           if(!Directory.Exists(destDirName))                  {                      Directory.CreateDirectory(destDirName);                      File.SetAttributes(destDirName,   File.GetAttributes(sourceDirName));                          //File.SetAttributes(destDirName,FileAttributes.Normal);                  }                                         if   (destDirName[destDirName.Length   -   1]   !=   Path.DirectorySeparatorChar)                      destDirName   =   destDirName   +   Path.DirectorySeparatorChar;                       string[]   files   =   Directory.GetFiles(sourceDirName);                  foreach   (string   file   in   files)                  {                      File.Copy(file,destDirName   +   Path.GetFileName(file),   true);                      File.SetAttributes(destDirName   +   Path.GetFileName(file),FileAttributes.Normal);                      total++;                      statusWinForm.progressBar1.Value   =   total;                      if(FileNumber   ==   0)                      {                          statusWinForm.lblStatus.Text   =   "已完成   100%";                                          }                      else                      {                          statusWinForm.lblStatus.Text   =   "已完成   "   +   (Math.Round((double)(100*total/FileNumber),0)).ToString()   +   "%";                      }                      statusWinForm.lblSourceFile.Text   =   file;                      statusWinForm.lblFileName.Text   =   destDirName   +   Path.GetFileName(file);                      statusWinForm.lblStatus.Refresh();                      statusWinForm.lblFileName.Refresh();                      statusWinForm.lblSourceFile.Refresh();                       }                            string[]   dirs   =   Directory.GetDirectories(sourceDirName);                  foreach   (string   dir   in   dirs)                  {                      statusWinForm.Refresh();                      statusWinForm.Focus();                      statusWinForm.Activate();                      CopyDirectory(dir,   destDirName   +   Path.GetFileName(dir),statusWinForm);                  }              }                           public   static   int   GetFilesCount(System.IO.DirectoryInfo   dirInfo)                {                    int   totalFile   =   0;                    totalFile   +=   dirInfo.GetFiles().Length;                    foreach   (System.IO.DirectoryInfo   subdir   in   dirInfo.GetDirectories())                    {                        totalFile   +=   GetFilesCount(subdir);                    }                    return   totalFile;                } 

热点排行