openFileDialog

一 OpenFileDialog 的属性

 1、 OpenFileDialog控件有以下基本属性
InitialDirectory 对话框的初始目录
Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"
FilterIndex          在对话框中选择的文件筛选器的索引,如果选第一项就设为1
RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
FileName 第一个在对话框中显示的文件或最后一个选取的文件
Title 将显示在对话框标题栏中的字符
AddExtension   是否自动添加默认扩展名
CheckPathExists 在对话框返回之前,检查指定路径是否存在
DefaultExt 默认扩展名
DereferenceLinks 在从对话框返回前是否取消引用快捷方式
ShowHelp 启用"帮助"按钮
ValiDateNames     控制对话框检查文件名中是否不含有无效的字符或序列

 2、 OpenFileDialog控件有以下常用事件
FileOk 当用户点击"打开"或"保存"按钮时要处理的事件
HelpRequest 当用户点击"帮助"按钮时要处理的事件

3、 获取对话框的文件名

4、例子:

openfiledialog.FileName //获取或设置一个包含在文件对话框中选定的文件名字符串
openfiledialog.SafeFileName //获取选定对话框中的文件名和扩展名

 

OpenFileDialog Open1 = new OpenFileDialog(); 
Open1.Filter = "图片文件(*.jpg,*.gif,*.bmp)|*.jpg|*.gif|*.bmp";
 说明: 
‘|’分割的两个,一个是注释,一个是真的Filter,显示出来的是那个注释。你实际上应该选出了jpg和bmp。
如果要一次显示多中类型的文件,用分号分开
Open1.Filter="图片文件(*.jpg,*.gif,*.bmp)|*.jpg;*.gif;*.bmp";
 
二 OpenFileDialog控件的简单应用 
 1。设置过滤条件
openFileDialog1.Filter = "Media  Files(*.mp3;*.WMA)|*.mp3;*.WMA";
说明:过滤条件以“|”进行分隔,分隔符前面的“Media  Files(*.mp3;*.WMA)”,是显示在文件选择对话框的说明文字。后面的字符串才是具体允许的文件列别。类别之间用字符“;”进行分隔。
合理的运用“|”可以达到其他效果,比如文件选择对话框的类型下拉列表,自己试试吧^_^
2。允许选择多个文件
openFileDialog1.Multiselect = true;
3。判断是否进行了选择(即用户是否单击了“打开”按钮)
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string[] files = openFileDialog1.FileNames;//用户选中的全部文件,如果没有设置多选的话可以用FileName查找文件
}
=====
其他说明
1、 OpenFileDialog控件有以下基本属性 
 
InitialDirectory 对话框的初始目录 
Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" 
FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 
RestoreDirectory 控制对话框在关闭之前是否恢复当前目录 
FileName 第一个在对话框中显示的文件或最后一个选取的文件 
Title 将显示在对话框标题栏中的字符 
AddExtension 是否自动添加默认扩展名 
CheckPathExists 在对话框返回之前,检查指定路径是否存在 
DefaultExt 默认扩展名 
DereferenceLinks 在从对话框返回前是否取消引用快捷方式 
ShowHelp 启用"帮助"按钮 
ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列 
 
  2、 OpenFileDialog控件有以下常用事件 
 
 
FileOk 当用户点击"打开"或"保存"按钮时要处理的事件 
HelpRequest 当用户点击"帮助"按钮时要处理的事件 
注意:
在使用OpenFileDialog控件时遇到了一个问题,就是当运行完OpenFileDialog后,在运行System.IO.Path.GetFullPath(“~”);得到的路径已经不再是程序的运行路径了,反而是运行OpenFileDialog时所选择的文件路径,不知道是什么原因,我的解决办法是定义一个全局变量来存储程序路径。
1。设置过滤条件
openFileDialog1.Filter = "Media  Files(*.mp3;*.WMA)|*.mp3;*.WMA";
说明:过滤条件以“|”进行分隔,分隔符前面的“Media  Files(*.mp3;*.WMA)”,是显示在文件选择对话框的说明文字。后面的字符串才是具体允许的文件列别。类别之间用字符“;”进行分隔。
合理的运用“|”可以达到其他效果,比如文件选择对话框的类型下拉列表,自己试试吧^_^
2。允许选择多个文件
openFileDialog1.Multiselect = true;
3。判断是否进行了选择(即用户是否单击了“打开”按钮)
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string[] files = openFileDialog1.FileNames;//用户选中的全部文件,如果没有设置多选的话可以用FileName查找文件
}
=====
其他说明
1、 OpenFileDialog控件有以下基本属性 
 
InitialDirectory 对话框的初始目录 
Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" 
FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 
RestoreDirectory 控制对话框在关闭之前是否恢复当前目录 
FileName 第一个在对话框中显示的文件或最后一个选取的文件 
Title 将显示在对话框标题栏中的字符 
AddExtension 是否自动添加默认扩展名 
CheckPathExists 在对话框返回之前,检查指定路径是否存在 
DefaultExt 默认扩展名 
DereferenceLinks 在从对话框返回前是否取消引用快捷方式 
ShowHelp 启用"帮助"按钮 
ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列 
 
  2、 OpenFileDialog控件有以下常用事件 
 
 
FileOk 当用户点击"打开"或"保存"按钮时要处理的事件 
HelpRequest 当用户点击"帮助"按钮时要处理的事件 
注意:
在使用OpenFileDialog控件时遇到了一个问题,就是当运行完OpenFileDialog后,在运行System.IO.Path.GetFullPath(“~”);得到的路径已经不再是程序的运行路径了,反而是运行OpenFileDialog时所选择的文件路径,不知道是什么原因,我的解决办法是定义一个全局变量来存储程序路径。
 三 关于OpenFileDialog的使用
 
其中用到了OpenFileDialog这个类,下面是关于这个类的一些用法!
 
OpenFileDialog类是用来选择文件位置的,
 
FolderBrowserDialog 类用来选择文件夹位置.
 
具体代码如下:
程序源码:
 
using System;
using System.Collections.Generic;
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;
String fileName1;
 
public Form1()
{
InitializeComponent();
}
 
private void browse_Click(object sender,EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog(); //new一个方法
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); //定义打开的默认文件夹位置
ofd.ShowDialog(); //显示打开文件的窗口
fileName = ofd.FileName; //获得选择的文件路径
textBox1.Text = fileName;
extendedName = Path.GetExtension(fileName); //获得文件扩展名
fileName1 = Path.GetFileName(fileName); //获得文件名
}
 
private void folder_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();
folderName = fbd.SelectedPath; //获得选择的文件夹路径
textBox3.Text = folderName;
}
 
private void ok_Click(object sender, EventArgs e)
{
  if (textBox1.Text.Trim().Length == 0)
{
MessageBox.Show("文件路径不能为空!");
return;
}
if (textBox2.Text.Trim().Length == 0)
{
MessageBox.Show("复制数量不能为空!");
return;
}
if (textBox3.Text.Trim().Length == 0)
{
MessageBox.Show("目标文件夹路径不能为空!");
return;
}
String newFile; //定义存储的位置,和存储的名称
 
for (int i = 1; i <= Convert.ToInt32(textBox2.Text); i++) //从textBox2中获取要复制的次数
{
newFile = folderName + "\\" + fileName1 +"_"+ i.ToString() + extendedName;
 
 
; File.Copy(fileName, newFile, true); //使用Copy复制文件, Copy(源文件位置,目标文件夹位置,是否可以覆盖同名文件)
}
MessageBox.Show("复制完成!");
}
}
}
 
补充:
 
//获取文件名 
Path.GetFileName(OpenFileDialog.FileName) 
 
//获取文件路径 
Path.GetDirectoryName(OpenFileDialog.FileName) 
 
//获取文件扩展名 
Path.GetExtension(OpenFileDialog.FileName)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章