轉載自https://blog.csdn.net/qq_31788297/article/details/62047952
我們在使用桌面軟件的時候經常會使用到選擇文件並打開和另存為等的窗口,這樣方便了我們自由選擇打開文件和保存文件的路徑。
注:下面說的這兩個功能,只是返回文件路徑。具體打開和保存功能還需要結合C#的IO流。
話不多說,先寫兩段代碼讓你體驗一下效果,具體的對象有哪些功能,可以單獨查一查相應的函數。
**
選擇文件功能
**
你可以創建一個button按鈕,把代碼直接放到按鈕的點擊事件中,當點擊按鈕后就會彈出文件選擇窗口
private void button1_Click(object sender, EventArgs e) { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Multiselect = true; fileDialog.Title = "請選擇文件"; fileDialog.Filter = "所有文件(*xls*)|*.xls*"; //設置要選擇的文件的類型 if (fileDialog.ShowDialog() == DialogResult.OK) { string file = fileDialog.FileName;//返回文件的完整路徑 } }
文件保存路徑選擇功能
下面是文件保存路徑的選擇,最終會返回一個完整的路徑
//選擇保存路徑 private string ShowSaveFileDialog() { string localFilePath = ""; //string localFilePath, fileNameExt, newFileName, FilePath; SaveFileDialog sfd = new SaveFileDialog(); //設置文件類型 sfd.Filter = "Excel表格(*.xls)|*.xls"; //設置默認文件類型顯示順序 sfd.FilterIndex = 1; //保存對話框是否記憶上次打開的目錄 sfd.RestoreDirectory = true; //點了保存按鈕進入 if (sfd.ShowDialog() == DialogResult.OK) { localFilePath = sfd.FileName.ToString(); //獲得文件路徑 string fileNameExt =localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1); //獲取文件名,不帶路徑 //獲取文件路徑,不帶文件名 //FilePath = localFilePath.Substring(0, localFilePath.LastIndexOf("\\")); //給文件名前加上時間 //newFileName = DateTime.Now.ToString("yyyyMMdd") + fileNameExt; //在文件名里加字符 //saveFileDialog1.FileName.Insert(1,"dameng"); //System.IO.FileStream fs = (System.IO.FileStream)sfd.OpenFile();//輸出文件 ////fs輸出帶文字或圖片的文件,就看需求了 } return localFilePath; }