C#winform怎么打开文件夹对话框打开文件

C#winform怎么打开文件夹对话框打开文件,第1张

首先我们新建个winform 窗体应用程序

之后在窗体上拖上一个按钮,通过按动来打开我们的文件对话框。

一个textBox来接受我们打开文件的内容

之后我们双击按钮,之后进入的是当按钮点击所执行的代码。我们先要创建一个打开文件对话框对象

之后通过 代码开实现对话框的展示

用代码 来实现获取你所选择文件的全路径,其中path,存放的就是你所选择文件的路径

之后我们通过打开使我们textbox控件中的内容等于我们读取的文件,小编先把文件中的内容打开了,一会读取的就是下图所示的文档

之后我门启动程序,点击按钮就会出现打开文件对话框,如下图。选择要打开的文件

8

之后我们就可以在窗体上的textbox控件中看到我们读取的内容

        /// <summary> 

        /// 获取指定路径下的所有文件 

        /// </summary> 

        /// <param name="filePath">指定路径</param> 

        /// <returns>当前路径下所有文件路径</returns> 

        private List<string> GetAllFile(string filePath) 

        { 

            List<string> path = new List<string>() 

            if (Directory.Exists(filePath)) 

            { 

                if (Directory.GetDirectories(filePath).Length > 0) 

                { 

                    foreach (string s in Directory.GetDirectories(filePath)) 

                    { 

                        path.AddRange(GetAllFile(s)) 

                    } 

                } 

                path.AddRange(Directory.GetFiles(filePath)) 

            } 

            else 

            { 

                throw new Exception("路径不合法") 

            } 

            return path 

        }

我只是放在List集合里面,你可以适当改成ComboBox的集合。

这是我用过的一个方法,保管好用,你直接调用就可以了!(第二个问题很简单,如一楼所言)

/// <summary>

/// 将整个文件夹复制到目标文件夹中。

/// </summary>

/// <param name="srcPath">源文件夹</param>

/// <param name="aimPath">目标文件夹</param>

/// <returns></returns>

public bool CopyDir(string srcPath, string aimPath )

{

try

{

// 检查目标目录是否以目录分割字符结束如果不是则添加之

if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)

aimPath += Path.DirectorySeparatorChar

// 判断目标目录是否存在如果不存在则新建之

if (!Directory.Exists(aimPath))

Directory.CreateDirectory(aimPath)

// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组

// 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法

string[] fileList = Directory.GetFileSystemEntries(srcPath)

// 遍历所有的文件和目录

foreach (string file in fileList)

{

// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件

if (Directory.Exists(file))

{

CopyDir(file, aimPath + Path.GetFileName(file))

}

// 否则直接Copy文件

else

{

File.Copy(file, aimPath + Path.GetFileName(file), true)

}

}

return true

}

catch

{

return false

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11480513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存