這篇文章主要為大家詳細介紹了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、選取要開啟的檔案後,程式運行效果:以上是Winform OpenFileDialog彈出檔案對話框的程式碼實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!