欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Winform OpenFileDialog打開文件對(duì)話框

 更新時(shí)間:2017年03月07日 11:55:12   作者:.NET開發(fā)菜鳥  
這篇文章主要為大家詳細(xì)介紹了Winform OpenFileDialog打開文件對(duì)話框 的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

OpenFileDialog類提供了用戶打開文件的功能,它有如下屬性:

屬性

InitialDirectory:設(shè)置對(duì)話框的初始目錄。

Filter:要在對(duì)話框中顯示的文件篩選器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"。

FilterIndex:在對(duì)話框中選擇的文件篩選器的索引,如果選第一項(xiàng)就設(shè)為1。

RestoreDirectory:控制對(duì)話框在關(guān)閉之前是否恢復(fù)當(dāng)前目錄。

FileName:第一個(gè)在對(duì)話框中顯示的文件或最后一個(gè)選取的文件。

Title:將顯示在對(duì)話框標(biāo)題欄中的名稱。

Multiselect:設(shè)置打開對(duì)話框可以多選。

1、新建一個(gè)Winform窗體應(yīng)用程序,命名為:OpenFileDialogDemo

2、在界面上添加一個(gè)按鈕的控件(用于打開文件的窗口),添加日志輸出的文本控件(輸出最終用戶打開的文件的目錄、文件名稱和文件內(nèi)容)。

3、后臺(tái)代碼實(shí)現(xiàn):

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)
    {
      //定義一個(gè)文件打開控件
      OpenFileDialog ofd = new OpenFileDialog();
      //設(shè)置打開對(duì)話框的初始目錄,默認(rèn)目錄為exe運(yùn)行文件所在的路徑
      ofd.InitialDirectory = Application.StartupPath;
      //設(shè)置打開對(duì)話框的標(biāo)題
      ofd.Title = "請(qǐng)選擇要打開的文件";
      //設(shè)置打開對(duì)話框可以多選
      ofd.Multiselect = true;
      //設(shè)置對(duì)話框打開的文件類型
      ofd.Filter = "文本文件|*.txt|音頻文件|*.wav|圖片文件|*.jpg|所有文件|*.*";
      //設(shè)置文件對(duì)話框當(dāng)前選定的篩選器的索引
      ofd.FilterIndex = 2;
      //設(shè)置對(duì)話框是否記憶之前打開的目錄
      ofd.RestoreDirectory = true;
      if (ofd.ShowDialog() == DialogResult.OK)
      { 
        //獲取用戶選擇的文件完整路徑
        string filePath = ofd.FileName;
        //獲取對(duì)話框中所選文件的文件名和擴(kuò)展名,文件名不包括路徑
        string fileName = ofd.SafeFileName;       
        OutLog("用戶選擇的文件目錄為:" + filePath);
        
        OutLog("用戶選擇的文件名稱為:"+fileName);
        OutLog("**************選中文件的內(nèi)容**************");
        using (FileStream fsRead = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Read))
        { 
         //定義二進(jìn)制數(shù)組
          byte[] buffer = new byte[1024 * 1024 * 5];
          //從流中讀取字節(jié)
          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)
    {
      //如果日志信息長(zhǎng)度超過(guò)1000行,則自動(dòng)清空
      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文件測(cè)試

5、點(diǎn)擊打開文件按鈕,打開對(duì)話框。默認(rèn)的目錄是exe文件所在的目錄:

6、在打開文件的類型中是我們?cè)O(shè)置的4和類型,默認(rèn)選中的是第2個(gè)音頻文件類型:

7、選中要打開的文件后,程序運(yùn)行效果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論