C# winform選擇文件、選擇文件夾、打開文件
文章來自博客園友,這里只是做一下筆記。
來源:https://www.cnblogs.com/liuqifeng/p/9149125.html
一、選擇文件用OpenDialog
OpenFileDialog dialog = new OpenFileDialog();
dialog.Multiselect = true;//該值確定是否可以選擇多個文件
dialog.Title = "請選擇文件夾";
dialog.Filter = "所有文件(*.*)|*.*";
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string file = dialog.FileName;
}
Filter 屬性 賦值為一字符串 用於過濾文件類型;
字符串說明如下:
‘|’分割的兩個,一個是注釋,一個是真的Filter,顯示出來的是那個注釋。如果要一次顯示多中類型的文件,用分號分開。
如:
Open1.Filter="圖片文件(.jpg,.gif,.bmp)|.jpg;.gif;.bmp";
則過濾的文件類型為 “|”號 右邊的 .jpg;.gif;.bmp 三種類型文件,在OpenDialog/SaveDialog中顯示給用戶看的文件類型字符串則是 :“|”號 左邊的 圖片文件(.jpg,.gif,.bmp)。
再如:
Open1.Filter="圖像文件(.jpg;.jpg;.jpeg;.gif;.png)|.jpg;.jpeg;.gif;*.png";
二、選擇文件夾使用System.Windows.Forms.FolderBrowserDialog
System.Windows.Forms.FolderBrowserDialog dialog =new System.Windows.Forms.FolderBrowserDialog();
dialog.Description = "請選擇Txt所在文件夾";
if (dialog.ShowDialog()==System.Windows.Forms.DialogResult.OK )
{
if (string.IsNullOrEmpty(dialog.SelectedPath))
{
System.Windows.MessageBox.Show(this, "文件夾路徑不能為空", "提示");
return;
}
this.LoadingText = "處理中...";
this.LoadingDisplay = true;
Action<string> a = DaoRuData;
a.BeginInvoke(dialog.SelectedPath,asyncCallback, a);
}
三、直接打開某路徑下的文件或者文件夾
System.Diagnostics.Process.Start("ExpLore", "C:\window");
C# OpenFileDialog打開文件對話框(詳解)
一、打開文件對話框(OpenFileDialog)
1、 OpenFileDialog控件的基本屬性
InitialDirectory:對話框的初始目錄
Filter: 獲取或設置當前文件名篩選器字符串,例如,"文本文件(.txt)|.txt|所有文件(.)||."
FilterIndex 在對話框中選擇的文件篩選器的索引,如果選第一項就設為1
RestoreDirectory 控制對話框在關閉之前是否恢復當前目錄
FileName:第一個在對話框中顯示的文件或最后一個選取的文件
Title 將顯示在對話框標題欄中的字符
AddExtension 是否自動添加默認擴展名
CheckPathExists 在對話框返回之前,檢查指定路徑是否存在
DefaultExt 默認擴展名
DereferenceLinks 在從對話框返回前是否取消引用快捷方式
ShowHelp 啟用"幫助"按鈕
ValiDateNames 控制對話框檢查文件名中是否不含有無效的字符或序列
2、 OpenFileDialog控件有以下常用事件
FileOk 當用戶點擊"打開"或"保存"按鈕時要處理的事件
HelpRequest 當用戶點擊"幫助"按鈕時要處理的事件
可以用以下代碼來實現上面這個對話框:
private void openF
ileDialogBTN_Click(object sender, System.EventArgs e)
{
OpenFileDialog openFileDialog=new OpenFileDialog();
openFileDialog.InitialDirectory="c:\\";//注意這里寫路徑時要用c:\\而不是c:\
openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*";
openFileDialog.RestoreDirectory=true;
openFileDialog.FilterIndex=1;
if (openFileDialog.ShowDialog()==DialogResult.OK)
{
fName=openFileDialog.FileName;
File fileOpen=new File(fName);
isFileHaveName=true;
richTextBox1.Text=fileOpen.ReadFile();
richTextBox1.AppendText("");
}
}
3、 獲取對話框的文件名
openfiledialog.FileName //獲取或設置一個包含在文件對話框中選定的文件名字符串
openfiledialog.SafeFileName //獲取選定對話框中的文件名和擴展名
二、打開文件夾對話框(FolderBrowserDialog)
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "請選擇文件路徑";
if (dialog.ShowDialog() == DialogResult.OK)
{
savePath = dialog.SelectedPath;
textBox2.Text = savePath;
}
