C# 通用对话框用法详解

一、OpenFileDialog(打开文件对话框)

     (1)常用的几个基本的属性:

      1. InitialDirectory :获取或设置文件对话框显示的初始目录。

      2. RestoreDirectory :设置对话框在关闭前是否还原当前目录(InitialDirectory目录)。(默认为false)

      3. Filter :获取或设置当前文件名筛选器字符串,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"。

      4. FilterIndex:获取或设置文件对话框中当前选定筛选器的索引。注意,索引项是从1开始的。

      5. FileName :获取在文件对话框中选定打开的文件的完整路径或设置显示在文件对话框中的文件名。注意,如果是多选(Multiselect)的话,获取的将是在选择对话框中排第一位的文件名(不论你的选择顺序)。

      6. FileNames:获取对话框中所有选定文件的完整路径

      7 .SafeFileName:获取在文件对话框中选定的文件名

      8 .SafeFileNames:获取对话框中所有选定文件的文件名

      9. Multiselect :设置是否允许选择多个文件。(默认为false)

     10. Title :获取或设置文件对话框标题(默认值为“打开”)。

     11. CheckFileExists在对话框返回之前,如果用户指定的文件不存在,对话框是否显示警告。(默认为true)

     12.CheckPathExists在对话框返回之前,如果用户指定的路径不存在,对话框是否显示警告。(默认为true)

     13.ShowHelp:设置文件对话框中是否显示“帮助”按钮。(默认为false)

     14. DereferenceLinks设置是否返回快捷方式引用的exe文件的位置。(默认为true)

     15. ShowReadOnly:设置文件对话框是否包含只读复选框。(默认为false)

     16. ReadOnlyChecked :设置是否选定只读复选框。(默认为false,需要ShowReadOnly属性=true)

     (2)常用的方法:

       1. ShowDialog() :弹出文件对话框。

       2. OpenFile() :打开用户选定的具有只读权限的文件。

     (3)常用事件:

       1. FileOk :当用户单击文件对话框中的“打开”或“保存”按钮时发生。

       2. HelpRequest:当用户单击通用对话框中的“帮助”按钮时发生。(记得ShowHelp属性要先等于true)

       源码:  

  1.     private void openFileDialogBtn_Click(object sender, EventArgs e)  
  2.     {  
  3.          OpenFileDialog opd = new OpenFileDialog();    
  4.           
  5.          opd.InitialDirectory = @"D:\"//对话框初始路径   
  6.   
  7.          opd.Filter = "C#文件(*.cs)|*.cs|文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";  
  8.   
  9.          opd.FilterIndex = 2;  //默认就选择在文本文件(*.txt)过滤条件上   
  10.    
  11.          opd.DereferenceLinks = false;  //返回快捷方式的路径而不是快捷方式映射的文件的路径   
  12.   
  13.          opd.Title = "打开对话框";   
  14.    
  15.          opd.RestoreDirectory = true;  //每次打开都回到InitialDirectory设置的初始路径   
  16.         
  17.          opd.ShowHelp = true//对话框多了个"帮助"按钮   
  18.   
  19.          opd.ShowReadOnly = true//对话框多了"只读打开"的复选框   
  20.   
  21.          opd.ReadOnlyChecked = true//默认"只读打开"复选框勾选   
  22.   
  23.          opd.HelpRequest +=new EventHandler(opd_HelpRequest); //注册帮助按钮的事件   
  24.   
  25.         // opd.FileOk += new CancelEventHandler(opd_FileOk);  //效果等同于下面   
  26.   
  27.          if(opd.ShowDialog() == DialogResult.OK)  
  28.          {  
  29.               string filePath = opd.FileName;   //文件路径   
  30.       
  31.               string fileName = opd.SafeFileName;  //文件名   
  32.          }  
  33.     }  
  34.   
  35.     private void opd_FileOk(object sender, CancelEventArgs e)  
  36.     {  
  37.           //do something    
  38.     }  
  39.   
  40.     /// <summary>   
  41.     /// 帮助按钮单击事件   
  42.     /// </summary>   
  43.     /// <param name="sender"></param>   
  44.     /// <param name="e"></param>   
  45.     private void opd_HelpRequest(object sender, EventArgs e)  
  46.     {  
  47.           MessageBox.Show("这是帮助说明");     
  48.     }  
    private void openFileDialogBtn_Click(object sender, EventArgs e)
    {
         OpenFileDialog opd = new OpenFileDialog();  
        
         opd.InitialDirectory = @"D:\"; //对话框初始路径

         opd.Filter = "C#文件(*.cs)|*.cs|文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";

         opd.FilterIndex = 2;  //默认就选择在文本文件(*.txt)过滤条件上
 
         opd.DereferenceLinks = false;  //返回快捷方式的路径而不是快捷方式映射的文件的路径

         opd.Title = "打开对话框"; 
 
         opd.RestoreDirectory = true;  //每次打开都回到InitialDirectory设置的初始路径
      
         opd.ShowHelp = true; //对话框多了个"帮助"按钮

         opd.ShowReadOnly = true; //对话框多了"只读打开"的复选框

         opd.ReadOnlyChecked = true; //默认"只读打开"复选框勾选

         opd.HelpRequest +=new EventHandler(opd_HelpRequest); //注册帮助按钮的事件

        // opd.FileOk += new CancelEventHandler(opd_FileOk);  //效果等同于下面

         if(opd.ShowDialog() == DialogResult.OK)
         {
              string filePath = opd.FileName;   //文件路径
    
              string fileName = opd.SafeFileName;  //文件名
         }
    }

    private void opd_FileOk(object sender, CancelEventArgs e)
    {
          //do something 
    }

    /// <summary>
    /// 帮助按钮单击事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void opd_HelpRequest(object sender, EventArgs e)
    {
          MessageBox.Show("这是帮助说明");   
    }

 运行效果图:

    


二、SaveFileDialog(保存文件对话框)

     (1)常用的几个基本的属性:

      1. InitialDirectory :获取或设置文件对话框显示的初始目录。

      2. RestoreDirectory :设置对话框在关闭前是否还原当前目录(InitialDirectory目录)。(默认为false)

      3. Filter :获取或设置当前文件名筛选器字符串,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*"。

      4. FilterIndex:获取或设置文件对话框中当前选定筛选器的索引。注意,索引项是从1开始的。

      5. FileName :获取在文件对话框中选定保存文件的完整路径或设置显示在文件对话框中要保存的文件名

      6. Title :获取或设置文件对话框标题(默认值为“另存为”)。

      7. AddExtension:设置如果用户省略扩展名,对话框是否自动在文件名中添加扩展名。(默认为true)

      8 .DefaultExt :获取或设置默认文件扩展名。

      9. CheckFileExists在对话框返回之前,如果用户指定的文件不存在,对话框是否显示警告。(默认为false,与openFileDialog相反)

     10.CheckPathExists在对话框返回之前,如果用户指定的路径不存在,对话框是否显示警告。(默认为false,与openFileDialog相反)

     11. OverwritePrompt在对话框返回之前,如果用户指定保存的文件名已存在,对话框是否显示警告(默认为true)。

     12.CreatePrompt:在保存文件时,如果用户指定的文件不存在,对话框是否提示“用户允许创建该文件”。(默认为false)

     13.ShowHelp:设置文件对话框中是否显示“帮助”按钮。(默认为false)

     14. DereferenceLinks设置是否返回快捷方式引用的exe文件的位置。(默认为true)

     (2)常用的方法:

       1. ShowDialog() :弹出文件对话框。

     (3)常用事件:

       1. FileOk :当用户单击文件对话框中的“打开”或“保存”按钮时发生。

       2. HelpRequest:当用户单击通用对话框中的“帮助”按钮时发生。(记得ShowHelp属性要先等于true)

       源码:  

  1. private void saveFileDialogBtn_Click(object sender, EventArgs e)  
  2. {  
  3.      SaveFileDialog sfd = new SaveFileDialog();            
  4.   
  5.      sfd.InitialDirectory = @"D:\"//对话框初始路径   
  6.   
  7.      sfd.FileName = "config.txt"//默认保存的文件名   
  8.   
  9.      sfd.Filter = "C#文件(*.cs)|*.cs|文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";  
  10.   
  11.      sfd.FilterIndex = 2;  //默认就选择在文本文件(*.txt)过滤条件上   
  12.   
  13.      sfd.DefaultExt = ".xml";  //默认保存类型,如果过滤条件选"所有文件(*.*)"且保存名没写后缀,则补充上该默认值   
  14.   
  15.      sfd.DereferenceLinks = false;  //返回快捷方式的路径而不是快捷方式映射的文件的路径   
  16.   
  17.      sfd.Title = "保存对话框";   
  18.   
  19.      sfd.RestoreDirectory = true;  //每次打开都回到InitialDirectory设置的初始路径   
  20.     
  21.      sfd.ShowHelp = true//对话框多了个"帮助"按钮   
  22.   
  23.      sfd.HelpRequest +=new EventHandler(sfd_HelpRequest); //注册帮助按钮的事件   
  24.   
  25.     // sfd.FileOk += new CancelEventHandler(sfd_FileOk);  //效果等同于下面   
  26.   
  27.      if(sfd.ShowDialog() == DialogResult.OK)  
  28.      {  
  29.           string filePath = sfd.FileName;   //文件路径   
  30.   
  31.      }  
  32. }  
  33.   
  34. private void sfd_FileOk(object sender, CancelEventArgs e)  
  35. {  
  36.       //do something    
  37. }  
  38.   
  39. /// <summary>   
  40. /// 帮助按钮单击事件   
  41. /// </summary>   
  42. /// <param name="sender"></param>   
  43. /// <param name="e"></param>   
  44. private void sfd_HelpRequest(object sender, EventArgs e)  
  45. {  
  46.       MessageBox.Show("这是帮助说明");     
  47. }   
    private void saveFileDialogBtn_Click(object sender, EventArgs e)
    {
         SaveFileDialog sfd = new SaveFileDialog();          

         sfd.InitialDirectory = @"D:\"; //对话框初始路径

         sfd.FileName = "config.txt"; //默认保存的文件名

         sfd.Filter = "C#文件(*.cs)|*.cs|文本文件(*.txt)|*.txt|所有文件(*.*)|*.*";

         sfd.FilterIndex = 2;  //默认就选择在文本文件(*.txt)过滤条件上

         sfd.DefaultExt = ".xml";  //默认保存类型,如果过滤条件选"所有文件(*.*)"且保存名没写后缀,则补充上该默认值

         sfd.DereferenceLinks = false;  //返回快捷方式的路径而不是快捷方式映射的文件的路径

         sfd.Title = "保存对话框"; 
 
         sfd.RestoreDirectory = true;  //每次打开都回到InitialDirectory设置的初始路径
      
         sfd.ShowHelp = true; //对话框多了个"帮助"按钮

         sfd.HelpRequest +=new EventHandler(sfd_HelpRequest); //注册帮助按钮的事件

        // sfd.FileOk += new CancelEventHandler(sfd_FileOk);  //效果等同于下面

         if(sfd.ShowDialog() == DialogResult.OK)
         {
              string filePath = sfd.FileName;   //文件路径

         }
    }

    private void sfd_FileOk(object sender, CancelEventArgs e)
    {
          //do something 
    }

    /// <summary>
    /// 帮助按钮单击事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void sfd_HelpRequest(object sender, EventArgs e)
    {
          MessageBox.Show("这是帮助说明");   
    } 
运行效果图:


三、FolderBrowserDialog(选择目录对话框)

     (1)常用的几个基本的属性:

      1. Description:获取或设置对话框中在树视图控件上显示的说明文本。

      2. RootFolder:获取或设置从其开始浏览的根文件夹,该属性返回的是SpecialFolder类型的数据。

      3.SelectedPath:获取或设置用户选定的目录的完整路径。

      4. ShowNewFolderButton:设置是否显示"新建文件夹"按钮在文件夹浏览对话框中。(默认为true)

     (2)常用的方法:

       1. ShowDialog() :弹出文件对话框。

       源码:  

  1.     private void folderBrowserDialogBtn_Click(object sender, EventArgs e)  
  2.     {  
  3.           FolderBrowserDialog fbd = new FolderBrowserDialog();  
  4.   
  5.           fbd.RootFolder = Environment.SpecialFolder.Desktop;  //设置默认根目录是桌面   
  6.   
  7.           fbd.Description = "请选择文件目录:";   //设置对话框说明   
  8.   
  9.           if (fbd.ShowDialog() == DialogResult.OK)  
  10.           {  
  11.               string filePath = fbd.SelectedPath;    
  12.           }  
  13.     }  
    private void folderBrowserDialogBtn_Click(object sender, EventArgs e)
    {
          FolderBrowserDialog fbd = new FolderBrowserDialog();

          fbd.RootFolder = Environment.SpecialFolder.Desktop;  //设置默认根目录是桌面

          fbd.Description = "请选择文件目录:";   //设置对话框说明

          if (fbd.ShowDialog() == DialogResult.OK)
          {
              string filePath = fbd.SelectedPath;  
          }
    }
运行效果图:


  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值