Winform OpenFileDialog彈出檔案對話方塊的代碼執行個體

來源:互聯網
上載者:User
這篇文章主要為大家詳細介紹了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、選中要開啟的檔案後,程式運行效果:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.