您現在的位置: 365建站網 > 365學習 > c#中的SaveFileDialog保存對話框的用法

c#中的SaveFileDialog保存對話框的用法

文章來源:365jz.com     點擊數:5572    更新時間:2018-06-05 19:55   參與評論

如何使用 SaveFileDialog 組件保存文件


QQ截圖20180605195616.jpg

SaveFileDialog組件,用戶可以瀏覽文件系統并選擇要保存文件。 對話框返回用戶在對話框中所選的文件路徑和名稱。 但是必須編寫代碼才能真正地將文件寫入磁盤。

使用 SaveFileDialog 組件保存文件

顯示“保存文件”對話框,并調用來方法保存用戶選擇的文件。

使用SaveFileDialog組件的OpenFile方法以將保存該文件。 此方法提供Stream可以寫入的對象。

下面的示例使用DialogResult屬性來獲取該文件的名稱和OpenFile方法以將保存該文件。 OpenFile方法提供寫入到文件流。

在下面的示例中,沒有Button控件分配給它的映像。 當你單擊按鈕,SaveFileDialog與允許的類型.gif、.jpeg 和.bmp 文件的篩選器實例化組件。 如果在“保存文件”對話框中選擇了此類型的文件,那么按鈕的圖像將會保存。

重要

要獲取或設置FileName屬性,您的程序集需要特權級別授予通過System.Security.Permissions.FileIOPermission類。 如果在部分信任上下文中運行,該進程可能會因特權不足而引發異常。 有關詳細信息,請參閱代碼訪問安全性基礎知識。

該示例假定你的窗體具有Button使用來控制其Image屬性設置為的類型.gif、.jpeg 或.bmp 文件。

備注

FileDialog類的FilterIndex屬性 (它,由于繼承,屬于SaveFileDialog類) 使用基于 1 的索引。 如果要通過編寫代碼以特定格式保存數據(例如,以純文本或二進制格式保存文件),那么這一點很重要。以下示例介紹了該屬性。

private void button2_Click(object sender, System.EventArgs e)  
{  
   // Displays a SaveFileDialog so the user can save the Image  
   // assigned to Button2.  
   SaveFileDialog saveFileDialog1 = new SaveFileDialog();  
   saveFileDialog1.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif";  
   saveFileDialog1.Title = "Save an Image File";  
   saveFileDialog1.ShowDialog();  
   // If the file name is not an empty string open it for saving.  
   if(saveFileDialog1.FileName != "")  
   {  
      // Saves the Image via a FileStream created by the OpenFile method.  
      System.IO.FileStream fs =   
         (System.IO.FileStream)saveFileDialog1.OpenFile();  
      // Saves the Image in the appropriate ImageFormat based upon the  
      // File type selected in the dialog box.  
      // NOTE that the FilterIndex property is one-based.  
      switch(saveFileDialog1.FilterIndex)  
      {  
         case 1 :   
         this.button2.Image.Save(fs,   
            System.Drawing.Imaging.ImageFormat.Jpeg);  
         break;  
         case 2 :   
         this.button2.Image.Save(fs,   
            System.Drawing.Imaging.ImageFormat.Bmp);  
         break;  
         case 3 :   
         this.button2.Image.Save(fs,   
            System.Drawing.Imaging.ImageFormat.Gif);  
         break;  
      }  
   fs.Close();  
   }  
}


SaveFileDialog saveFileDialog1 = new SaveFileDialog();

            saveFileDialog1.AddExtension = true;

            saveFileDialog1.Filter = "ACCESS 2003(*.mdb)|*.mdb|所有文件|*.*"; //文件類型

            saveFileDialog1.Title = "數據庫另存為";//標題

            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {

                string fileName = saveFileDialog1.FileName;

                string pathFile = "c://ere.txt"; //指定文件

                File.Copy(pathFile, fileName, true); //復制

                MessageBox.Show("備份成功!");

            }

            else
            {

                MessageBox.Show("操作已取消!");

            }

      作用是將制定的文件(c://ere.txt)保存備份為其它的名稱的文件

saveFileDialog saveFileDialog1=new saveFileDialog();

saveFileDialog1.InitialDirectory = Path.GetDirectoryName(strPartPath);

  //設置文件類型

saveFileDialog1.Filter = "Excel 工作簿(*.xlsx)|*.xlsx|Excel 啟動宏的工作簿(*.xlsm)|*.xlsm|Excel 97-2003工作簿(*.xls)|*.xls";

//saveFileDialog1.FilterIndex = 1;//設置文件類型顯示

saveFileDialog1.FileName = "自己取個";//設置默認文件名

saveFileDialog1.RestoreDirectory = true;//保存對話框是否記憶上次打開的目錄

saveFileDialog1.CheckPathExists = true;//檢查目錄

 if (saveFileDialog1.ShowDialog() == DialogResult.OK)

{

 string strSaveFileLocation = saveFileDialog1.FileName;//文件路徑

 }       



private void SaveFileDialog()
{
 //string localFilePath, fileNameExt, newFileName, FilePath;
 SaveFileDialog saveFileDialog1 = new SaveFileDialog();



 //設置文件類型
 saveFileDialog1.Filter = " txt files(*.txt)|*.txt|All files(*.*)|*.*";

 //設置默認文件類型顯示順序
 saveFileDialog1.FilterIndex = 2;

 //保存對話框是否記憶上次打開的目錄
 saveFileDialog1.RestoreDirectory = true;

 //點了保存按鈕進入
 if (saveFileDialog1.ShowDialog() == DialogResult.OK)
 {
  //獲得文件路徑
  //localFilePath = saveFileDialog1.FileName.ToString();

  //獲取文件名,不帶路徑
  //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)saveFileDialog1.OpenFile();//輸出文件
 }
}

如對本文有疑問,請提交到交流論壇,廣大熱心網友會為你解答??! 點擊進入論壇


發表評論 (5572人查看,1條評論)
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
用戶名: 驗證碼: 點擊我更換圖片
最新評論
2019年10月12日 16:381

test this is a  word test

------分隔線----------------------------
自拍偷拍福力视频,偷拍国际精品,麻豆一区福利电影,国产网红视频午夜福利,se视频大全,久久国产AV影院 宝贝我轻轻的进去一点| 强行扒开双腿猛烈进入| 久久国产乱子伦精品免费女| 国产对白叫床清晰在线播放| gogo全球专业大尺度高清人体| 宝贝我想尿在里面h| 香蕉视下载app最新版ios| 久久久久青草线综合超碰| 亚洲va日本va韩国va在线| 天翼鸟| 中国高清videossexotv| 男人的蛋xx进了女人的屁股里| 国产在线精品一区二区三区| 97人人超碰国产精品最新| 小泽玛利亚办公室喷水| 美妙人妻| 制服丝袜av无码专区| 疯狂做受dvd| 迅雷哥电版在线观看| 学生真实初次破初视频血| 无码人妻人妻经典| 欧美人与动牲交zooz| 日本熟妇三十路0930| 羞花影院手机在线观看| 伊香蕉大综综综合久久啪88| 超97免费视频在线观看| 刘涛下面的毛好长好长| 啦啦啦电影免费观看在线高清| 国产99视频精品免费视看9| 男朋友摸得我流水有点黏黏| 在线综合亚洲欧美网站| http://www.cookieandluz.com