Winform OpenFileDialog打开文件对话框

OpenFileDialog类提供了用户打开文件的功能,它有如下属性:

属性

InitialDirectory:设置对话框的初始目录。

Filter:要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"。

FilterIndex:在对话框中选择的文件筛选器的索引,如果选第一项就设为1。

RestoreDirectory:控制对话框在关闭之前是否恢复当前目录。

FileName:第一个在对话框中显示的文件或最后一个选取的文件。

Title:将显示在对话框标题栏中的名称。

Multiselect:设置打开对话框可以多选。

1、新建一个Winform窗体应用程序,命名为:OpenFileDialogDemo

2、在界面上添加一个按钮的控件(用于打开文件的窗口),添加日志输出的文本控件(输出最终用户打开的文件的目录、文件名称和文件内容)。

3、后台代码实现:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace OpenFileDialogDemo
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }

    /// <summary>
    /// 打开文件按钮单击事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void btn_OpenFile_Click(object sender, EventArgs e)
    {
      //定义一个文件打开控件
      OpenFileDialog ofd = new OpenFileDialog();
      //设置打开对话框的初始目录,默认目录为exe运行文件所在的路径
      ofd.InitialDirectory = Application.StartupPath;
      //设置打开对话框的标题
      ofd.Title = "请选择要打开的文件";
      //设置打开对话框可以多选
      ofd.Multiselect = true;
      //设置对话框打开的文件类型
      ofd.Filter = "文本文件|*.txt|音频文件|*.wav|图片文件|*.jpg|所有文件|*.*";
      //设置文件对话框当前选定的筛选器的索引
      ofd.FilterIndex = 2;
      //设置对话框是否记忆之前打开的目录
      ofd.RestoreDirectory = true;
      if (ofd.ShowDialog() == DialogResult.OK)
      {
        //获取用户选择的文件完整路径
        string filePath = ofd.FileName;
        //获取对话框中所选文件的文件名和扩展名,文件名不包括路径
        string fileName = ofd.SafeFileName;
        OutLog("用户选择的文件目录为:" + filePath);

        OutLog("用户选择的文件名称为:"+fileName);
        OutLog("**************选中文件的内容**************");
        using (FileStream fsRead = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Read))
        {
         //定义二进制数组
          byte[] buffer = new byte[1024 * 1024 * 5];
          //从流中读取字节
          int r= fsRead.Read(buffer, 0, buffer.Length);
          OutLog(Encoding.Default.GetString(buffer,0,r));
        }
      }
    }

    /// <summary>
    /// 输出日志
    /// </summary>
    /// <param name="strLog"></param>
    private void OutLog(string strLog)
    {
      //如果日志信息长度超过1000行,则自动清空
      if (txt_FileInfo.GetLineFromCharIndex(txt_FileInfo.Text.Length) > 1000)
      {
        //清空文本
        txt_FileInfo.Clear();
      }
      txt_FileInfo.AppendText(DateTime.Now.ToString("HH:mm:ss ")+strLog+"\r\n");
    }
  }
}

4、生成exe文件测试

5、点击打开文件按钮,打开对话框。默认的目录是exe文件所在的目录:

6、在打开文件的类型中是我们设置的4和类型,默认选中的是第2个音频文件类型:

7、选中要打开的文件后,程序运行效果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#实现winform自动关闭MessageBox对话框的方法

    本文实例讲述了C#实现winform自动关闭MessageBox对话框的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.Inte

  • Winform控件SaveFileDialog用于保存文件

    SaveFileDialog用于保存文件,供大家参考,具体内容如下 1.新建Winform窗体应用程序,命名为SaveFileDialogDemo. 2.在界面上添加一个按钮的控件(用于打开保存文件对话框),添加文本控件,用于输入要保存的内容. 3.后台代码实现: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing;

  • winform 实现选择文件和选择文件夹对话框的简单实例

    实例如下: //选择文件,点击[浏览],选择文件 private void button1_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog1 = new OpenFileDialog(); //显示选择文件对话框 openFileDialog1.InitialDirectory = "c:\\"; openFileDialog1.Filter = "txt files (*.txt)|*.tx

  • C#中OpenFileDialog和PictrueBox的用法分析

    本文实例讲述了C#中OpenFileDialog和PictrueBox的用法.分享给大家供大家参考.具体用法分析如下: 先来看看这段代码: 复制代码 代码如下: string resultFile = ""; OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = "D:\\Patch"; openFileDialog1.Filter = &q

  • openfiledialog读取txt写入数据库示例

    WinForm 中添加 openFileDialog Button, WinForm .cs 中添加本地.mdf,如下: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms; namespace txt记事本文件的读写{    static class Program    {        /// <summary>        /// 应

  • Winform OpenFileDialog打开文件对话框

    OpenFileDialog类提供了用户打开文件的功能,它有如下属性: 属性 InitialDirectory:设置对话框的初始目录. Filter:要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*". FilterIndex:在对话框中选择的文件筛选器的索引,如果选第一项就设为1. RestoreDirectory:控制对话框在关闭之前是否恢复当前目录. FileName:第一个在对话框中显示的文件或最后一个选取的文件. Titl

  • C#开发Winform控件之打开文件对话框OpenFileDialog类

    OpenFileDialog类提供了用户打开文件的功能,它有如下属性: 属性 InitialDirectory:设置对话框的初始目录. Filter: 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*". FilterIndex: 在对话框中选择的文件筛选器的索引,如果选第一项就设为1. RestoreDirectory: 控制对话框在关闭之前是否恢复当前目录. FileName:第一个在对话框中显示的文件或最后一个选取的文件. T

  • C++采用openfilename打开文件对话框用法实例

    本文实例讲述了C++采用openfilename打开文件对话框用法,分享给大家供大家参考.具体方法如下: 这里需要注意,有的时候会因为没设置nMaxFile,而一直不出现对话框. 具体功能代码如下: 复制代码 代码如下: char szFileName[MAX_PATH]={0};  OPENFILENAME openFileName = {0};  openFileName.lStructSize = sizeof(OPENFILENAME);  openFileName.nMaxFile =

  • PyQt5打开文件对话框QFileDialog实例代码

    本文研究的主要是PyQt5打开文件对话框QFileDialog的代码示例,具体如下. 单个文件打开 QFileDialog.getOpenFileName() 多个文件打开 QFileDialog.getOpenFileNames() 文件夹选取 QFileDialog.getExistingDirectory() 文件保存 QFileDialog.getSaveFileName() 实例代码: from PyQt5 import QtWidgets from PyQt5.QtWidgets i

  • 易语言打开文件对话框时不允许用户指定一个不存在的文件

    文件必须存在属性 所属对象:通用对话框   操作系统支持:Windows,数据类型:逻辑型: 当类型为打开文件对话框时,是否允许用户指定一个不存在的文件. 例程 说明 如果文件必须存在设置为"真",在打开文件时,如果文件不存在,将不能打开. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • tkinter如何实现打开文件对话框并获取文件绝对路径

    目录 tkinter实现打开文件对话框并获取文件绝对路径 tkinter选择路径功能的实现 效果预览 代码 总结 tkinter实现打开文件对话框并获取文件绝对路径 # 首先,导入模块 import tkinter.filedialog # 此处省略父容器的定义 ... # 第2步,定义按钮并指定触发函数self.Command1_Cmd self.style.configure('Command1.TButton',font=('宋体',9)) self.Command1 = Button(s

  • Powershell使用OpenFileDialog打开文件示例

    支持所有版本. 要添加某些文件到你的脚本中,下面一个例子使用一个文件对话框来获得一个文件: 复制代码 代码如下: function Show-OpenFileDialog {   param   ($Title = 'Pick a File', $Filter = 'All|*.*|PowerShell|*.ps1')     $type = 'Microsoft.Win32.OpenFileDialog'       $dialog = New-Object -TypeName $type  

  • C# Winform实现复制文件显示进度

    复制文件显示进度实际上就是文件流来复制文件,并在每一块文件复制后,用进度条来显示复制情况. 一.本实例中主要是以线程和委托的方式,在使用Filestream类对文件进行复制的同时,使用ProgressBar来显示文件复制进度,下面对本实例中用到的关键技术进行讲解. (1) 线程构造函数 该构造函数主要初始化Thread类的新实例.语法格式如下: public Thread(ThreadStart start); 参数说明: start:ThreadStart委托,它表示线程开始执行时要调用的方法

  • C++程序员操作文件对话框的方法

    目录 1.调用GetOpenFileName接口启动打开文件对话框 1.1.OPENFILENAME结构体说明 1.2.设置支持文件多选,控制选择文件的个数上限 1.3.从OPENFILENAME结构体的lpstrFile字段解析出用户选择的文件的完整路径 2.调用GetSaveFileName接口启动保存文件对话框 3.调用SHBrowseForFolder接口打开浏览文件夹对话框 4.最后 在C++程序中有时需要通过系统的文件对话框去操作文件或者文件夹,我们有必要熟练掌握操作文件对话框的细节

随机推荐