1、选择文件用OpenDialog

OpenFileDialog dialog = new OpenFileDialog();
dialog.Multiselect = true;//该值确定是否可以选择多个文件
dialog.Title = "请选择文件夹";
dialog.Filter = "所有文件(*.*)|*.*";
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{string file = dialog.FileName;
}

Filter 属性 赋值为一字符串 用于过滤文件类型;
字符串说明如下:
‘|’分割的两个,一个是注释,一个是真的Filter,显示出来的是那个注释。如果要一次显示多中类型的文件,用分号分开。
如:
Open1.Filter=“图片文件(.jpg,.gif,.bmp)|.jpg;.gif;.bmp”;
则过滤的文件类型为 “|”号 右边的 .jpg;.gif;.bmp 三种类型文件,在OpenDialog/SaveDialog中显示给用户看的文件类型字符串则是 :“|”号 左边的 图片文件(.jpg,.gif,.bmp)。
再如:
Open1.Filter=“图像文件(.jpg;.jpg;.jpeg;.gif;.png)|.jpg;.jpeg;.gif;*.png”;

2、使用System.Windows.Forms.FolderBrowserDialog选择文件夹

System.Windows.Forms.FolderBrowserDialog dialog =new System.Windows.Forms.FolderBrowserDialog();
dialog.Description = "请选择Txt所在文件夹";
if (dialog.ShowDialog()==System.Windows.Forms.DialogResult.OK  )
{if (string.IsNullOrEmpty(dialog.SelectedPath)){System.Windows.MessageBox.Show(this, "文件夹路径不能为空", "提示");return;}this.LoadingText = "处理中...";this.LoadingDisplay = true;Action<string> a = DaoRuData;a.BeginInvoke(dialog.SelectedPath,asyncCallback, a);

}

3、直接打开某路径下的文件或者文件夹

  System.Diagnostics.Process.Start("ExpLore", "C:\\window");

<C#>_在窗体中打开文件

实现的代码如下:

 public void openfile(int n){OpenFileDialog openfile = new OpenFileDialog();openfile.Filter = "*.cs | *.cs";//设置文件后缀if (openfile.ShowDialog() == DialogResult.OK){string filename = openfile.FileName;dic1.Add(n, filename);fileArr[n].Text = filename.Substring(filename.LastIndexOf("\\") + 1, filename.LastIndexOf(".") - (filename.LastIndexOf("\\") + 1));}           }页面中的【NO】按钮是用来打开文件的,打开的文件是readonly权限,是不可编写的,点击【编辑】按钮就可以打开文件并且编辑,实现代码如下:public void readfile(int btNumber, string mode)//点击【NO】按钮,以只读发方式打开文件{int key = Convert.ToInt16(numArr[btNumber].Text) - 1;foreach (KeyValuePair<int, string> kv in dic1){if (kv.Key == key){System.IO.FileInfo f = new System.IO.FileInfo(kv.Value);if (mode == "ReadOnly"){f.Attributes = System.IO.FileAttributes.ReadOnly;}                   System.Diagnostics.Process csProcess = System.Diagnostics.Process.Start(kv.Value);}}  }public void readfile(int btNumber)//点击【编辑】按钮,以可读可写发方式打开文件{int key = Convert.ToInt16(numArr[btNumber].Text) - 1;foreach (KeyValuePair<int, string> kv in dic1){if (kv.Key == key){System.IO.FileInfo f = new System.IO.FileInfo(kv.Value);f.Attributes = System.IO.FileAttributes.Normal;System.Diagnostics.Process csProcess = System.Diagnostics.Process.Start(kv.Value);}}}在C#窗体中使用代码实现文件的打开,用的是进程的思想,即Windows中每个软件都是一个进程,我们平时在电脑中自己打开一个txt文件就是打开一个进程,在代码中同样可以实现打开文件的功能。//关键语句就是://System.Diagnostics.Process csProcess = System.Diagnostics.Process.Start(kv.Value);这里的kv.Value是用键值对把文件名和【NO】中的序号对应起来,方便做一些读写操作。在没有设置文件的权限时,文件是不可改变的,所以以上代码中,如果不实现f.Attributes = System.IO.FileAttributes.ReadOnly; 文件打开后也是不能更改的,大家可以试试。 为了使文件能够修改,要设置成 f.Attributes = System.IO.FileAttributes.Normal; 设置文件的属性主要用到了FileInfo类的Attributes属性。

二、打开文件夹对话框(FolderBrowserDialog)

  FolderBrowserDialog dialog = new FolderBrowserDialog();dialog.Description = "请选择文件路径";if (dialog.ShowDialog() == DialogResult.OK)
{savePath = dialog.SelectedPath;textBox2.Text = savePath;
}

C#选择文件、选择文件夹、打开文件(OpenDialog,FolderBrowserDialog)相关推荐

  1. shell 创建文件_vba代替鼠标打开文件夹

    在 VBA造文件夹的思考 一文中介绍了如何用vba代码新建文件夹. 在用VBA操作文件和文件夹的过程中,除了新建文件夹,我们还经常需要与文件夹有个人机交互的过程,比如选择文件所在的文件夹,然后再执行一 ...

  2. VS2015无法打开包括文件corecrt.h 无法打开文件ucrtd.lib

    VS2015无法打开包括文件"corecrt.h" 无法打开文件"ucrtd.lib" 在网上是VS2015的一个BUG,如果是选择"从父级或项目默认 ...

  3. Winform中实现文件另存为后并打开文件

    场景 在Winform程序中点击按钮实现Excel导出,会打开对话框,文件另存为之后自动打开文件. Process.Start Method 重载 Start()  启动(或重用)此 Process ...

  4. Linux下多个进程可以同时打开同一个文件吗?文件描述符与打开文件的关系?

    一:结论 1.两个进程中分别产生生成两个独立的fd 2.两个进程可以任意对文件进行读写操作,操作系统并不保证写的原子性 3.进程可以通过系统调用对文件加锁,从而实现对文件内容的保护 4.任何一个进程删 ...

  5. MAC常用进入文件夹剪贴粘贴打开文件夹快捷键

    MAC常用文件夹快捷键 文件夹类 返回:Command + [ 前进:Command + ] 打开文件夹:Command + O 前往文件夹:Shift + Command + G 上一个:Up 下一 ...

  6. python编译成手机可用程序打开本文件_python创建可以打开文件的EXE

    改进方向 生成最简单的exe程序 将python脚本转化为exe程序比较常用的是两个库,py2exe和pyinstaller,由于前者不支持3.5及以上版本,操作也相对复杂,因此这里选择pyinsta ...

  7. java打开的文件过多_显示打开文件数目过多的解决方法.

    经常问的问题 如何从表中删除记录? 不要那样做 说真的 只需选择要保留的记录并替换原始表即可. 我想使我的O脚本既可执行又可加载,并将命令行参数传递给它. 在Linux-下使用以下shebang #! ...

  8. windows计算机无法打开,电脑无法识别文件提示Windows无法打开文件怎么办

    有时候我们在使用电脑的过程中会发现一些无法识别的文件,通常被电脑识别的文件都会显示具体的文件图标,而无法识别的文件没有,说明电脑系统中没有可以打开该文件的程序.当点击打开则会提示Windows无法打开 ...

  9. cmd 新建html文件,cmd 打开文件 怎么用cmd打开文件?(看下图)

    cmd命令打开文件cmd命令只能打开英文命名的文件吗 C:\Documents and Settings\Administrator\Application Data\Microsoft\Intern ...

  10. Linux中的文件描述符与打开文件之间的关系

    1. 概述 在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件.目录文件.链接文件和设备文件.文件描述符(file descriptor)是内核为了高效管理已被打开的文件所创建的索引,其是 ...

最新文章

  1. 华为+长安研发芯片?长安蔚来更名“阿维塔科技”
  2. Python 解决一行代码分成多行及多行代码放在一行
  3. 《看聊天记录都学不会Python到游戏实战?太菜了吧》(8)我们开始做一个数字小游戏吧
  4. flask 重定向(redirect)和会话(session)
  5. 拓端tecdat|R语言使用ARIMA模型预测股票收益时间序列
  6. 跳过 Xcode 下载 iOS 模拟器
  7. matlab统计像元灰度值的函数,matlab像素值及统计
  8. 【一分钟了解UWP】微信UWP
  9. [转]用python来开发webgame服务端(4)
  10. 阿里云商标智能注册申请图文教程(亲踩坑)
  11. 【出国面试】出国 交换 / 访学 / 留学 国外导师面试经验分享
  12. Linux线程数和系统线程数查看
  13. 微信openid绑定java,微信公众号支付(一)如何获取用户openId
  14. 网红达人培养思维导图
  15. html5移动页面自适应手机屏幕大小,页面完美自适应移动端屏幕的方法
  16. Baxter robot 碰撞检测相关问题集合(自己学习用)
  17. Cadence Allegro如何设置stroke快捷命令
  18. matlab随机抽取数字,Matlab 从多维正态分布中随机抽取样本:mvnrnd
  19. [呼吁]用奶粉代替母乳是误区
  20. access防下载表原理

热门文章

  1. 小米10手机电路图 主板元件位号图
  2. 时域采样定理MATLAB实现
  3. c 语言翻译软件,分享一款 程序员秒懂的翻译软件
  4. ITIL学习笔记——核心流程之:服务级别管理
  5. java jconsole_关于java:JConsole在Linux中的位置
  6. 什么是容器服务_即学即用Docker(一):说说容器和Docker
  7. winserver2003手谈
  8. 南京大学俞扬:环境模型学习——让强化学习走出游戏
  9. 计算机组装与维修第3版,计算机组装与维护(第3版)
  10. 电脑WindowsUDP53绕过校园网认证登陆(同时可进内外网教程)