C#winfrom技术打开文件操作总结(OpenFileDialog类)

C#winfrom技术打开文件操作总结(OpenFileDialog类)

  在C#的winfrom中打开文件可以使用OpenFileDialog类进行操作。下面详细讲解这个类的常见属性和使用方法。

介绍:

  OpenFileDialog类使用的命名空间是:System.Windows.Forms; 它不可以在控制台工程中使用,它与 Windows 操作系统的“打开文件”对话框相同,是从 CommonDialog 类继承的。在基于 Windows 的应用程序中,可实现简单的文件选择,而不必配置自己的对话框。利用标准的 Windows 对话框,可以创建常见程序的对话框。
  常用属性:
1 、 Title 属性:获取或设置文件对话框标题。默认值为空字符串("")。如果标题为空字符串,系统将使用默认标题“打开”。示例:

fileDialog.Title = "请打开文件";   // 这里显示的是打开文件窗口的标题

2 、 Multiselect 属性:获取或设置一个值,该值指示对话框是否允许选择多个文件。(会用到FileNames属性)示例:

fileDialog.Multiselect = true;  // 表示可以选择多个文件,false为不可选多个文件

3、Filter 属性:用来筛选相应的文件,该字符串决定对话框的“文件类型”框中出现的选择内容。示例:

fileDialog.Filter = "所有文件(*.*)|*.*";   // 这里选取所有文件

4、FileName 属性:获取或设置一个包含在文件对话框中选定的文件名的字符串。也就是在对话框中选择的文件名,默认值为空字符串("")。这个属性包含的是文件的绝对路径。如果未选定文件,将返回空字符串。示例:

string file = fileDialog.FileName;    // 返回文件的绝对路径  

5、FileNames 属性:获取对话框中所有选定文件的文件名。属性值是一个 String 类型数组。每个文件名都既包含文件路径又包含文件扩展名。如果未选定文件,该方法将返回空数组。使用这个属性时需要打开2中所示的可以选择多个文件。示例:

string[] filename = fileDialog.FileNames;   // 返回所有文件路径的路径
for (int i = 0; i < filename.Length; i++)
{
     
     Console.WriteLine(filename[i]);   // 输出所有的文件路径
}      

  常用方法
1、ShowDialog() 方法:在运行时显示对话框,通常与DialogResult.OK一起使用,表示对话框打开成功。示例:

if (fileDialog.ShowDialog() == DialogResult.OK) //打开文件路径

下面演示完整的打开Windows文件选择对话框,并且打开文件的代码。

public void showfile()
{
     
       OpenFileDialog fileDialog = new OpenFileDialog();   // 显示一个打开文件窗体对象
       fileDialog.Multiselect = true;   // 可以多选文件
       fileDialog.Title = "请打开文件";   // 这里显示的是打开文件窗口的标题
       fileDialog.Filter = "所有文件(*.*)|*.*";
       if (fileDialog.ShowDialog() == DialogResult.OK)
       {
     
            string file = fileDialog.FileName;    // 返回单个文件的绝对路径,如果有多个只是显示第一个
           string[] filename = fileDialog.FileNames;   // 返回所有文件路径的路径
           for (int i = 0; i < filename.Length; i++)
           {
     
                Console.WriteLine(filename[i]);   // 输出所有的文件路径
           }                
           MessageBox.Show("已选择文件:" + file, "选择文件提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
}

你可能感兴趣的:(C#)