如何使用保存文件对话框保存文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用保存文件对话框保存文件相关的知识,希望对你有一定的参考价值。

我想使用保存文件对话框保存任何类型的文件...我的要求是基于列表框的选择(它包含各种类型的文件,如.txt,.xls)我想使用保存文件对话框提供下载选项框...如果用户选择.txt文件文件存储文件格式基于文件扩展名我要存储文件...那些文件我想将相同的文件副本保存到特定位置

请帮助我

Dim digresult As DialogResult = MessageBox.Show("Do you want to download ? ", "View", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If digresult = Windows.Forms.DialogResult.Yes Then
           downlddialog.Filter = "All files (*.*)|*.*"
           downlddialog.Title = "Save a file"
           downlddialog.RestoreDirectory = True
           downlddialog.OverwritePrompt = True
           downlddialog.ShowDialog()
           Dim dr As String = downlddialog.FileName
答案

您可以提取文件扩展名,然后为特定文件扩展名提供适当的文件写入逻辑,请参阅下面的示例代码,

SaveFileDialog oSaveFileDialog = new SaveFileDialog();
            oSaveFileDialog.Filter = "All files (*.*) | *.*";
            if (oSaveFileDialog.ShowDialog() == DialogResult.OK)
            {
                string fileName = oSaveFileDialog.FileName;
                string extesion = Path.GetExtension(fileName);
                switch (extesion)
                {
                    case ".txt"://do something here 
                        break;
                    case ".xls"://do something here 
                        break;
                    default://do something here
                        break;
                }
            }    
另一答案
        System.Windows.Forms.SaveFileDialog saveFileDialog1;
        saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
        DialogResult dr=  saveFileDialog1.ShowDialog();
        if (dr==DialogResult.OK)
        {
           string filename = saveFileDialog1.FileName;
           //save file using stream.
        }

您可以使用此代码此代码在C#而不是MessageBox.Show使用System.Windows.Forms.SaveFileDialog

另一答案

这将完成工作......

filter属性是可选的 - 只是您希望用户保存特定的文件类型

VB:

// Displays a SaveFileDialog so the user can save the Image
      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 through a FileStream created by
         // the OpenFile method.
         System::IO::FileStream ^ fs = 
            safe_cast<System::IO::FileStream*>(
            saveFileDialog1->OpenFile());
         // Saves the Image in the appropriate ImageFormat based on
         // 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();
      }

C#

// Displays a SaveFileDialog so the user can save the Image
   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();
   }

以上是关于如何使用保存文件对话框保存文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用保存文件对话框保存文件

如何隐藏保存文件对话框c# [关闭]

1,Delphi 生成的EXE 文件输出在哪个目录?如何改变?

如何使用 C# 添加保存文件对话框

我在哪里更改此 Python 代码片段以将临时文件保存在 tmp 文件夹中?

如何将文件保存在 fastcoloredtextbox 中?