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

版权声明:我不生产代码,我只是代码的搬运工。 https://blog.csdn.net/qq_43307934/article/details/86363393

增加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、选择文件夹

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

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

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

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

猜你喜欢

转载自blog.csdn.net/qq_43307934/article/details/86363393