openFileDialog

一 OpenFileDialog 的屬性

 1、 OpenFileDialog控件有以下基本屬性
InitialDirectory 對話框的初始目錄
Filter 要在對話框中顯示的文件篩選器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"
FilterIndex          在對話框中選擇的文件篩選器的索引,如果選第一項就設爲1
RestoreDirectory 控制對話框在關閉之前是否恢復當前目錄
FileName 第一個在對話框中顯示的文件或最後一個選取的文件
Title 將顯示在對話框標題欄中的字符
AddExtension   是否自動添加默認擴展名
CheckPathExists 在對話框返回之前,檢查指定路徑是否存在
DefaultExt 默認擴展名
DereferenceLinks 在從對話框返回前是否取消引用快捷方式
ShowHelp 啓用"幫助"按鈕
ValiDateNames     控制對話框檢查文件名中是否不含有無效的字符或序列

 2、 OpenFileDialog控件有以下常用事件
FileOk 當用戶點擊"打開"或"保存"按鈕時要處理的事件
HelpRequest 當用戶點擊"幫助"按鈕時要處理的事件

3、 獲取對話框的文件名

4、例子:

openfiledialog.FileName //獲取或設置一個包含在文件對話框中選定的文件名字符串
openfiledialog.SafeFileName //獲取選定對話框中的文件名和擴展名

 

OpenFileDialog Open1 = new OpenFileDialog(); 
Open1.Filter = "圖片文件(*.jpg,*.gif,*.bmp)|*.jpg|*.gif|*.bmp";
 說明: 
‘|’分割的兩個,一個是註釋,一個是真的Filter,顯示出來的是那個註釋。你實際上應該選出了jpg和bmp。
如果要一次顯示多中類型的文件,用分號分開
Open1.Filter="圖片文件(*.jpg,*.gif,*.bmp)|*.jpg;*.gif;*.bmp";
 
二 OpenFileDialog控件的簡單應用 
 1。設置過濾條件
openFileDialog1.Filter = "Media  Files(*.mp3;*.WMA)|*.mp3;*.WMA";
說明:過濾條件以“|”進行分隔,分隔符前面的“Media  Files(*.mp3;*.WMA)”,是顯示在文件選擇對話框的說明文字。後面的字符串纔是具體允許的文件列別。類別之間用字符“;”進行分隔。
合理的運用“|”可以達到其他效果,比如文件選擇對話框的類型下拉列表,自己試試吧^_^
2。允許選擇多個文件
openFileDialog1.Multiselect = true;
3。判斷是否進行了選擇(即用戶是否單擊了“打開”按鈕)
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string[] files = openFileDialog1.FileNames;//用戶選中的全部文件,如果沒有設置多選的話可以用FileName查找文件
}
=====
其他說明
1、 OpenFileDialog控件有以下基本屬性 
 
InitialDirectory 對話框的初始目錄 
Filter 要在對話框中顯示的文件篩選器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" 
FilterIndex 在對話框中選擇的文件篩選器的索引,如果選第一項就設爲1 
RestoreDirectory 控制對話框在關閉之前是否恢復當前目錄 
FileName 第一個在對話框中顯示的文件或最後一個選取的文件 
Title 將顯示在對話框標題欄中的字符 
AddExtension 是否自動添加默認擴展名 
CheckPathExists 在對話框返回之前,檢查指定路徑是否存在 
DefaultExt 默認擴展名 
DereferenceLinks 在從對話框返回前是否取消引用快捷方式 
ShowHelp 啓用"幫助"按鈕 
ValiDateNames 控制對話框檢查文件名中是否不含有無效的字符或序列 
 
  2、 OpenFileDialog控件有以下常用事件 
 
 
FileOk 當用戶點擊"打開"或"保存"按鈕時要處理的事件 
HelpRequest 當用戶點擊"幫助"按鈕時要處理的事件 
注意:
在使用OpenFileDialog控件時遇到了一個問題,就是當運行完OpenFileDialog後,在運行System.IO.Path.GetFullPath(“~”);得到的路徑已經不再是程序的運行路徑了,反而是運行OpenFileDialog時所選擇的文件路徑,不知道是什麼原因,我的解決辦法是定義一個全局變量來存儲程序路徑。
1。設置過濾條件
openFileDialog1.Filter = "Media  Files(*.mp3;*.WMA)|*.mp3;*.WMA";
說明:過濾條件以“|”進行分隔,分隔符前面的“Media  Files(*.mp3;*.WMA)”,是顯示在文件選擇對話框的說明文字。後面的字符串纔是具體允許的文件列別。類別之間用字符“;”進行分隔。
合理的運用“|”可以達到其他效果,比如文件選擇對話框的類型下拉列表,自己試試吧^_^
2。允許選擇多個文件
openFileDialog1.Multiselect = true;
3。判斷是否進行了選擇(即用戶是否單擊了“打開”按鈕)
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string[] files = openFileDialog1.FileNames;//用戶選中的全部文件,如果沒有設置多選的話可以用FileName查找文件
}
=====
其他說明
1、 OpenFileDialog控件有以下基本屬性 
 
InitialDirectory 對話框的初始目錄 
Filter 要在對話框中顯示的文件篩選器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" 
FilterIndex 在對話框中選擇的文件篩選器的索引,如果選第一項就設爲1 
RestoreDirectory 控制對話框在關閉之前是否恢復當前目錄 
FileName 第一個在對話框中顯示的文件或最後一個選取的文件 
Title 將顯示在對話框標題欄中的字符 
AddExtension 是否自動添加默認擴展名 
CheckPathExists 在對話框返回之前,檢查指定路徑是否存在 
DefaultExt 默認擴展名 
DereferenceLinks 在從對話框返回前是否取消引用快捷方式 
ShowHelp 啓用"幫助"按鈕 
ValiDateNames 控制對話框檢查文件名中是否不含有無效的字符或序列 
 
  2、 OpenFileDialog控件有以下常用事件 
 
 
FileOk 當用戶點擊"打開"或"保存"按鈕時要處理的事件 
HelpRequest 當用戶點擊"幫助"按鈕時要處理的事件 
注意:
在使用OpenFileDialog控件時遇到了一個問題,就是當運行完OpenFileDialog後,在運行System.IO.Path.GetFullPath(“~”);得到的路徑已經不再是程序的運行路徑了,反而是運行OpenFileDialog時所選擇的文件路徑,不知道是什麼原因,我的解決辦法是定義一個全局變量來存儲程序路徑。
 三 關於OpenFileDialog的使用
 
其中用到了OpenFileDialog這個類,下面是關於這個類的一些用法!
 
OpenFileDialog類是用來選擇文件位置的,
 
FolderBrowserDialog 類用來選擇文件夾位置.
 
具體代碼如下:
程序源碼:
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace copyFile
{
public partial class Form1 : Form
{
String fileName;
String folderName;
String extendedName;
String fileName1;
 
public Form1()
{
InitializeComponent();
}
 
private void browse_Click(object sender,EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog(); //new一個方法
ofd.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); //定義打開的默認文件夾位置
ofd.ShowDialog(); //顯示打開文件的窗口
fileName = ofd.FileName; //獲得選擇的文件路徑
textBox1.Text = fileName;
extendedName = Path.GetExtension(fileName); //獲得文件擴展名
fileName1 = Path.GetFileName(fileName); //獲得文件名
}
 
private void folder_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
fbd.ShowDialog();
folderName = fbd.SelectedPath; //獲得選擇的文件夾路徑
textBox3.Text = folderName;
}
 
private void ok_Click(object sender, EventArgs e)
{
  if (textBox1.Text.Trim().Length == 0)
{
MessageBox.Show("文件路徑不能爲空!");
return;
}
if (textBox2.Text.Trim().Length == 0)
{
MessageBox.Show("複製數量不能爲空!");
return;
}
if (textBox3.Text.Trim().Length == 0)
{
MessageBox.Show("目標文件夾路徑不能爲空!");
return;
}
String newFile; //定義存儲的位置,和存儲的名稱
 
for (int i = 1; i <= Convert.ToInt32(textBox2.Text); i++) //從textBox2中獲取要複製的次數
{
newFile = folderName + "\\" + fileName1 +"_"+ i.ToString() + extendedName;
 
 
; File.Copy(fileName, newFile, true); //使用Copy複製文件, Copy(源文件位置,目標文件夾位置,是否可以覆蓋同名文件)
}
MessageBox.Show("複製完成!");
}
}
}
 
補充:
 
//獲取文件名 
Path.GetFileName(OpenFileDialog.FileName) 
 
//獲取文件路徑 
Path.GetDirectoryName(OpenFileDialog.FileName) 
 
//獲取文件擴展名 
Path.GetExtension(OpenFileDialog.FileName)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章