c# 選擇文件對話框


 

 因為打開和保存繼承於FileDialog 同一個,所以做了個通用方法。

        //默認打開路徑
        private string InitialDirectory = "D:\\";
        //統一對話框
        private bool InitialDialog(FileDialog fileDialog, string title)
        {
            fileDialog.InitialDirectory = InitialDirectory;//初始化路徑
            fileDialog.Filter = "txt files (*.txt,*.*)|*.txt;*.*" ;//過濾選項設置,文本文件,所有文件。
            fileDialog.FilterIndex = 1;//當前使用第二個過濾字符串
            fileDialog.RestoreDirectory = true;//對話框關閉時恢復原目錄
            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(@"\"))
                    {
                        //更改默認路徑為最近打開路徑
                        InitialDirectory = fileDialog.FileName.Substring(0, fileDialog.FileName.Length - i+1);
                        return true;
                    }
                }

                return true;
            }
            else
            {
                return false;
            }
        }        


            

 

打開文件操作

        private void Open(object obj)
        {   
            OpenFileDialog openFileDialog = new OpenFileDialog();//打開文件對話框              
            if (InitialDialog(openFileDialog, "Open"))
            {
                using (Stream stream = openFileDialog.OpenFile())
                {
                    FileName = ((System.IO.FileStream)stream).Name;
                    // 執行相關文件操作
            ...
} } }

 

保存操作

        private void Save(object obj)
        {
            SaveFileDialog saveFileDialog = new SaveFileDialog();//打開文件對話框              
            if (InitialDialog(saveFileDialog, "Save"))
            {
                using (Stream stream = saveFileDialog.OpenFile())
                {
                    FileName = ((System.IO.FileStream)stream).Name;
                    //執行保存動作
                    ...
                    MessageBox.Show("保存成功。");
                }
            }
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM