C#编程,【打开文件对话框】与【选择文件夹对话框】的一种方法。

增加using引用 System.Windows.Forms 

1、打开文件对话框

在事件中增加如下代码:

            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx|所有文件|*.*";//文件类型
            ofd.FilterIndex = 2;//默认选择上面类型中的第几个,从左到右,从1开始。
            ofd.Title = "对话框的标题";//对话框左上角标题
            ofd.InitialDirectory = @"D:\";//默认打开的文件夹
            ofd.Multiselect = true;//是否允许选中多个文件
            ofd.ValidateNames = true;//验证用户输入是否是一个有效的Windows文件名。
            ofd.CheckPathExists = true;//验证路径有效性。
            ofd.CheckFileExists = true;//验证文件有效性。
            ofd.ShowHelp = true;//出现一个帮助按钮,自定义帮助信息。
            if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string strFileName = ofd.FileName;
                //其他代码
            }

其中:

Filter:设置文件过滤器用于打开文件对话框中显示特定类型的文件。

‘|’分割的两个,一个是注释,一个是真的Filter。显示出来的是那个注释。如果要一次显示多中类型的文件,用分号分开

Open1.Filter="图片文件(*.jpg,*.gif,*.bmp)|*.jpg;*.gif;*.bmp";

格式是:提示1|类型1|提示2|类型2…

过滤器前后不允许有空格。

ShowHelp:出现一个帮助按钮,自定义帮助信息。通过HelpRequest事件添加一个处理程序。

在ShowDialog()之前加上:

ofd.ShowHelp = true; 

ofd.HelpRequest += new EventHandler(ofd_HelpRequest); 

然后定义事件:

private void ofd_HelpRequest(object sender, EventArgs e)

{      

 MessageBox.Show("我自己定义的帮助信息:)"); 

}

 Multiselect:可以使打开文件对话框打开多个文件。

如果启用了这个属性,在获取文件地址信息时,需要对FileNames进行遍历。

例如:

                string strFileName;
                foreach (var item in ofd.FileNames)
                {
                      strFileName = item;
                }
                //其他代码

2、保存文件

            SaveFileDialog sav = new SaveFileDialog();
            sav.Title = "请选择要保存的位置";
            sav.Filter = "图片文件|*.PNG";
            sav.InitialDirectory = @"D:\";

            if (sav.ShowDialog() ==  DialogResult.OK)
            {
                sPath = sav.FileName;
            }
            else
            {
                return;
            }

 

3、选择文件夹

 

            FolderBrowserDialog folder = new FolderBrowserDialog();
            folder.Description = "选择所有文件存放目录";
            if (folder.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                string sPath = folder.SelectedPath;
            }

 

4、直接打开某路径下的文件或者文件夹

例如:打开C盘Windows目录下的资源管理器。

 System.Diagnostics.Process.Start("explorer", @"C:\Windows");

参考:https://www.cnblogs.com/Angdybo/p/7777893.html

 

参考:https://blog.csdn.net/pxwcypx/article/details/2874660

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值