C#如何打開選擇文件對(duì)話框和選擇目錄對(duì)話框
更新時(shí)間:2023年07月13日 09:10:42 作者:思維逆逝
這篇文章主要介紹了C#如何打開選擇文件對(duì)話框和選擇目錄對(duì)話框問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
C#打開選擇文件對(duì)話框和選擇目錄對(duì)話框
1.選擇文件對(duì)話框
首先引用using Microsoft.Win32名稱空間。
private void BrowseButton_Click(object sender, RoutedEventArgs e) ? ? ? ? { ? ? ? ? ? ? OpenFileDialog dialog = new OpenFileDialog(); ? ? ? ? ? ? if(dialog.ShowDialog(this)== true) ? ? ? ? ? ? { ? ? ? ? ? ? ? ? LocationBox.Text = dialog.FileName; ? ? ? ? ? ? } ? ? ? ? }
2.選擇目錄對(duì)話框,利用winForm庫(kù)
引用using System.Windows.Forms;如果找不到此名稱空間,右鍵項(xiàng)目-添加-引用-程序集里面尋找并添加。
private void DisplayButton_Click(object sender, RoutedEventArgs e) ? ? ? ? { ? ? ? ? ? ? try ? ? ? ? ? ? { ? ? ? ? ? ? ? ? FolderBrowserDialog dialog = new FolderBrowserDialog(); ? ? ? ? ? ? ? ? dialog.Description = "請(qǐng)選擇文件路徑"; ? ? ? ? ? ? ? ? DialogResult result = dialog.ShowDialog(); ? ? ? ? ? ? ? ? if(result == System.Windows.Forms.DialogResult.Cancel) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? ? ? } ? ? ? ? ? ? ? ? string folderPath = dialog.SelectedPath.Trim(); ? ? ? ? ? ? ? ? DirectoryInfo theFolder = new DirectoryInfo(folderPath); ? ? ? ? ? ? ? ? if (theFolder.Exists) ? ? ? ? ? ? ? ? { ? ? ? ? ? ? ? ? ? ? //操作 ? ? ? ? ? ? ? ? ? ? return; ? ? ? ? ? ? ? ? }
C#通用選擇文件對(duì)話框
通用選擇文件對(duì)話框封裝
/// <summary> /// 文件選擇通用對(duì)話框 /// </summary> public class FilesSelectDialog { public OpenFileDialog fileDialog; //默認(rèn)打開路徑 public string DirPath = "D:\\"; public string FilePath; public string Title; public string Filter= "圖片(*.jpg,*.jpge,*.bmp,*.png)|*.jpg;*.jpge;*.bmp;*.png| 所有文件(*.*) |*.*"; public FilesSelectDialog(string title) { Title = title; fileDialog = new OpenFileDialog();//打開文件對(duì)話框 } public bool Show() { fileDialog.InitialDirectory = DirPath;//初始化路徑 fileDialog.Filter = Filter;//過濾選項(xiàng)設(shè)置,文本文件,所有文件。 fileDialog.FilterIndex = 0;//當(dāng)前使用第二個(gè)過濾字符串 fileDialog.RestoreDirectory = true;//對(duì)話框關(guān)閉時(shí)恢復(fù)原目錄 fileDialog.Title = Title; if (fileDialog.ShowDialog() == DialogResult.OK) { //for (int i = 1; i <= fileDialog.FileName.Length; i++) //{ // if (fileDialog.FileName.Substring(fileDialog.FileName.Length - i, 1).Equals(@"\")) // { // //更改默認(rèn)路徑為最近打開路徑 // Path = fileDialog.FileName.Substring(0, fileDialog.FileName.Length - i + 1); // return true; // } //} FilePath = fileDialog.FileName; try { DirPath = System.IO.Path.GetDirectoryName(FilePath);//更改默認(rèn)路徑為最近打開路徑 } catch (Exception) { return false; } return true; } else { return false; } } } FilesSelectDialog selectDialog = new FilesSelectDialog("請(qǐng)選擇要轉(zhuǎn)換的圖片"); private void Btn_OpenImsge_Click(object sender, EventArgs e) { //FilesSelectDialog selectDialog = new FilesSelectDialog("請(qǐng)選擇要轉(zhuǎn)換的圖片"); selectDialog.Filter = "圖片(*.jpg,*.jpge,*.bmp,*.png)|*.jpg;*.jpge;*.bmp;*.png| 所有文件(*.*) |*.*"; if (selectDialog.Show()==true) { SourceSrcBox.Text = selectDialog.FilePath; //MessageBox.Show(selectDialog.FilePath); DisplayImage(SourceSrcBox.Text); } }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C#中的高效IO庫(kù)System.IO.Pipelines
這篇文章介紹了C#中的高效IO庫(kù)System.IO.Pipelines,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07Asp.Net中避免重復(fù)提交和彈出提示框的實(shí)例代碼
本文分為前臺(tái)和后臺(tái)代碼實(shí)現(xiàn)避免重復(fù)提交和彈出提示框效果,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下2017-02-02在C#中處理時(shí)間戳和時(shí)區(qū)的解決方法
處理時(shí)間戳和不同的時(shí)區(qū)可能是軟件開發(fā)中的一個(gè)棘手問題,尤其是當(dāng)系統(tǒng)不確定給定的日期時(shí)間是UTC還是本地時(shí)間時(shí),通常會(huì)遇到與時(shí)間轉(zhuǎn)換相關(guān)的問題,在這篇文章中,我將分享我們?nèi)绾卧贑#中處理時(shí)間戳和時(shí)區(qū),需要的朋友可以參考下2024-06-06C#解決SQlite并發(fā)異常問題的方法(使用讀寫鎖)
這篇文章主要介紹了C#解決SQlite并發(fā)異常問題的方法,通過使用讀寫鎖達(dá)到多線程安全訪問,進(jìn)而解決SQLite并發(fā)異常的問題,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07C#執(zhí)行表達(dá)式樹(Expression Tree)的具體使用
本文將深入探討表達(dá)式樹的基本概念、創(chuàng)建方法、修改和刪除節(jié)點(diǎn)、查詢和遍歷技巧以及在C#中的應(yīng)用示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03