1、关于OpenFileDialog的使用 (2010-03-25 12:51:33) 标签: 杂谈 分类:WinForm 1、 OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录 Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 RestoreDirectory 控制对话框在关闭之前是否恢复当前目录 FileName 第一个在对话框中显示的文件或最后一个选取的文件 Ti
2、tle 将显示在对话框标题栏中的字符 AddExtension 是否自动添加默认扩展名 CheckPathExists 在对话框返回之前,检查指定路径是否存在 DefaultExt 默认扩展名 DereferenceLinks 在从对话框返回前是否取消引用快捷方式 ShowHelp 启用"帮助"按钮 ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列 2、 OpenFileDialog控件有以下常用事件 FileOk 当用户点击"打开"或"保存"按钮时要处理的事件 HelpRequest 当用户点击"帮助"按钮时要处理的
3、事件 可以用以下代码来实现上面这个对话框: private void openFileDialogBTN_Click(object sender, System.EventArgs e){ OpenFileDialog openFileDialog=new OpenFileDialog(); openFileDialog.InitialDirectory="c:\\";//注意这里写路径时要用c:\\而不是c:\ openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*"; openFileDialog.RestoreDi
4、rectory=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(""); } } 路径的返回用filename是字符串类型 如:openFileDial
5、og1.ShowDialog(); _name1= openFileDialog1.FileName; Image imge = Image.FromFile(_name1); 为了方便同事在日常工作中很快速生成大量数据, 我做了文件拷贝的小工具: 其中用到了OpenFileDialog这个类,下面是关于这个类的一些用法! OpenFileDialog类是用来选择文件位置的, FolderBrowserDialog 类用来选择文件夹位置. 具体代码如下: 程序源码: using System; using System.Collections.Generic;
6、 using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; namespace copyFile { public partial class Form1 : Form { String fileName; String folderName; String extendedName;
7、 String fileName1; public Form1() { InitializeComponent(); } private void browse_Click(object sender,EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); //new一个方法 ofd.InitialDirectory =
8、 Environment. GetFolderPath_r(Environment.SpecialFolder.MyDocuments); //定义打开的默认文件夹位置 ofd.ShowDialog(); //显示打开文件的窗口 fileName = ofd.FileName; //获得选择的文件路径 textBox1.Text = fileName; extendedName = Path. GetExtension_r(fileNam
9、e); //获得文件扩展名 fileName1 = Path. GetFileName_r(fileName); //获得文件名 } private void folder_Click(object sender, EventArgs e) { FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.ShowDialog(); folderName
10、 = fbd.SelectedPath; //获得选择的文件夹路径 textBox3.Text = folderName; } private void ok_Click(object sender, EventArgs e) { if (textBox1.Text.Trim().Length == 0) { MessageBox.Show("文件路径不能为空!");
11、 return; } if (textBox2.Text.Trim().Length == 0) { MessageBox.Show("复制数量不能为空!"); return; } if (textBox3.Text.Trim().Length == 0) { MessageBox.Show("目标文件夹路径不能为空!
12、"); return; } String newFile; //定义存储的位置,与存储的名称 for (int i = 1; i <= Convert.ToInt32(textBox2.Text); i++) //从textBox2中获取要复制的次数 { newFile = folderName + "\\" + fileNam
13、e1 +"_"+ i.ToString() + extendedName; ; File.Copy(fileName, newFile, true); //使用Copy复制文件, Copy(源文件位置,目标文件夹位置,是否可以覆盖同名文件) } MessageBox.Show("复制完成!"); } } } 补充: //获取文件名 Path. GetFileName_r(OpenFileDialog.FileName) //获取文件路径 Path. GetDirectoryName_r(OpenFileDialog.FileName) //获取文件扩展名 Path. GetExtension_r(OpenFileDialog.FileName)






