Home  >  Article  >  Backend Development  >  Code example of Winform OpenFileDialog pop-up file dialog box

Code example of Winform OpenFileDialog pop-up file dialog box

Y2J
Y2JOriginal
2017-05-03 13:33:092280browse

This article mainly introduces the relevant information of Winform OpenFileDialog to open the file dialog box in detail. It has certain reference value. Interested friends can refer to it.

The OpenFileDialog class provides users with the ability to open files. Function, it has the following properties:

Properties

InitialDirectory:Sets the initial directory of the dialog box.

Filter: The file filter to display in the dialog box, for example, "Text files (*.txt)|*.txt|All files (* .*)||*.*".

FilterIndex: The index of the file filter selected in the dialog box. If the first item is selected, it is set to 1.

RestoreDirectory: Controls whether the current directory is restored before closing the dialog box.

FileName: The first file displayed in the dialog box or the last selected file.

Title: The name that will be displayed in the title bar of the dialog box.

Multiselect: Set the dialog box to open with multiple selections.

1. Create a new Winform form application and name it: OpenFileDialogDemo

2. Add a button control (window for opening files) to the interface and add the text of the log output Control (outputs the directory, file name, and file contents of files opened by the end user).

3. Backend code implementation:

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();
    }

    /// 
    /// 打开文件按钮单击事件
    /// 
    /// 
    /// 
    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));
        }
      }
    }

    /// 
    /// 输出日志
    /// 
    /// 
    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. Generate exe file test

5 , click the Open File button to open the dialog box. The default directory is the directory where the exe file is located:

#6. In the type of open file, we set the 4 and type. The second audio file is selected by default. Type:

#7. After selecting the file to be opened, the program running effect:

The above is the detailed content of Code example of Winform OpenFileDialog pop-up file dialog box. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn