C# winform选择文件、选择文件夹、打开文件
文章来自博客园友,这里只是做一下笔记。
来源:https://www.cnblogs.com/liuqifeng/p/9149125.html
一、选择文件用OpenDialog
1 OpenFileDialog dialog = new OpenFileDialog(); 2 dialog.Multiselect = true;//该值确定是否可以选择多个文件 3 dialog.Title = "请选择文件夹"; 4 dialog.Filter = "所有文件(*.*)|*.*"; 5 if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) 6 { 7 string file = dialog.FileName; 8 }
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";
二、选择文件夹使用System.Windows.Forms.FolderBrowserDialog
1 System.Windows.Forms.FolderBrowserDialog dialog =new System.Windows.Forms.FolderBrowserDialog(); 2 dialog.Description = "请选择Txt所在文件夹"; 3 if (dialog.ShowDialog()==System.Windows.Forms.DialogResult.OK ) 4 { 5 if (string.IsNullOrEmpty(dialog.SelectedPath)) 6 { 7 System.Windows.MessageBox.Show(this, "文件夹路径不能为空", "提示"); 8 return; 9 } 10 this.LoadingText = "处理中..."; 11 this.LoadingDisplay = true; 12 Action<string> a = DaoRuData; 13 a.BeginInvoke(dialog.SelectedPath,asyncCallback, a); 14 }
三、直接打开某路径下的文件或者文件夹
System.Diagnostics.Process.Start("ExpLore", "C:\\window");
另外可以参考:
C# OpenFileDialog打开文件对话框(详解)
一、打开文件对话框(OpenFileDialog)
1、 OpenFileDialog控件的基本属性
- InitialDirectory:对话框的初始目录
- Filter: 获取或设置当前文件名筛选器字符串,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"
- FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
- RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
- FileName:第一个在对话框中显示的文件或最后一个选取的文件
- Title 将显示在对话框标题栏中的字符
- AddExtension 是否自动添加默认扩展名
- CheckPathExists 在对话框返回之前,检查指定路径是否存在
- DefaultExt 默认扩展名
- DereferenceLinks 在从对话框返回前是否取消引用快捷方式
- ShowHelp 启用"帮助"按钮
- ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列
2、 OpenFileDialog控件有以下常用事件
FileOk 当用户点击"打开"或"保存"按钮时要处理的事件
HelpRequest 当用户点击"帮助"按钮时要处理的事件
可以用以下代码来实现上面这个对话框:
private void openFileDialogBTN_Click(object sender, System.EventArgs e) { OpenFileDialog openFileDialog=new OpenFileDialog(); openFileDialog.InitialDirectory="c:\\";//注意这里写路径时要用c:\\而不是c:\ openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*"; openFileDialog.RestoreDirectory=true; openFileDialog.FilterIndex=1; if (openFileDialog.ShowDialog()==DialogResult.OK) { fName=openFileDialog.FileName; File fileOpen=new File(fName); isFileHaveName=true; richTextBox1.Text=fileOpen.ReadFile(); richTextBox1.AppendText(""); } }
3、 获取对话框的文件名
openfiledialog.FileName //获取或设置一个包含在文件对话框中选定的文件名字符串
openfiledialog.SafeFileName //获取选定对话框中的文件名和扩展名
二、打开文件夹对话框(FolderBrowserDialog)
FolderBrowserDialog dialog = new FolderBrowserDialog(); dialog.Description = "请选择文件路径"; if (dialog.ShowDialog() == DialogResult.OK) { savePath = dialog.SelectedPath; textBox2.Text = savePath; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2017-08-07 7219:复杂的整数划分问题
2017-08-07 1039 数的划分
2017-08-07 埃及分数
2017-08-07 整个页面所有元素垂直居中
2017-08-07 运算量和最大规模