C# 打开文件夹FolderBrowserDialog与打开文件OpenFileDialog浅析

最近在开发时遇到了不同文件的打开方式,然后就总结了一下,希望能帮到刷到的你
在C# 中对话框的有很多种:
1:文件对话框(FileDialog) 它又常用到两个:打开文件对话框(OpenFileDialog) 和保存文件对话(SaveFileDialog) 还有打开文件夹对话框FolderBrowserDialog
2:字体对话框(FontDialog)
3:颜色对话框(ColorDialog)
4:打印预浏对话框(PrintPreviewDialog)
5:页面设置(PrintDialog)
6:打印对话框(PrintDialog) 文件对话框(FileDialog)

今天只简单说一下FolderBrowserDialog与OpenFileDialog,因为这两个比较常用。
OpenFileDialog:
OpenFileDialog控件有以下基本属性
InitialDirectory 对话框的初始目录
Filter 要在对话框中显示的文件筛选器,例如,“文本文件(.txt)|.txt|所有文件(.)||.” FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
FileName 第一个在对话框中显示的文件或最后一个选取的文件
Title 将显示在对话框标题栏中的字符
AddExtension 是否自动添加默认扩展名
CheckPathExists 在对话框返回之前,检查指定路径是否存在
DefaultExt 默认扩展名
DereferenceLinks 在从对话框返回前是否取消引用快捷方式
ShowHelp 启用"帮助"按钮
ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列   
OpenFileDialog控件有以下常用事件 ,当用户点击"打开"或"保存"按钮时要处理的事件
代码如下:

try
            {
                OpenFileDialog dlg = new OpenFileDialog();
                dlg.Filter = " Txt files(*.txt)|*.txt| Log files(*.log)|*.log| All files(*.*) | *.*";
                dlg.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory;// "D:\\612r_ctc_xiuj";
                if (dlg.ShowDialog() == DialogResult.OK)
                {
                    fileName = dlg.FileName;
                    if (string.IsNullOrEmpty(fileName) == false && (fileName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase) == true))  //只处理txt
                    {
                        try
                        {
                            #region Read file
                            FileInfo fileInfo = new FileInfo(fileName);
                            if (!fileInfo.Exists)
                                return;
                            if (fileInfo.Length > int.MaxValue)
                                return;
                            // Read file
                            string[] lines = null;
                            if (fileName.EndsWith(".txt", StringComparison.OrdinalIgnoreCase) == true)
                            {
                                lines = NaFile.ReadAllLines(fileName, FileShare.ReadWrite);
                            }
                            #endregion
                            if (lines != null && lines.Length > 0)
                            {
                                //处理具体数据
                            }
                        }
                        catch (Exception ex)
                        {
                            Log.WriteExceptionCatch(ex);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Log.WriteIfEnabled(LogCategory.Information, Caption, "[OpenTXT]:" + ex.ToString());
                MessageBox.Info(LocalizationManager.GetResourceString("Open txt file failed!"), LocalizationManager.GetResourceString("Prompt"));
            }

FolderBrowserDialog:
FolderBrowserDialog主要是用于批量处理的,打开对应的文件夹(也可以新建),把对应选择的文件夹位置记录下来。然后对选中的txt或者其他的属性的文件进行批量处理。
Description 获取或设置对话框在视图控件上显示的文本
SelectedPath 获取或设置用户选定的路径
RootFolder 获取或设置从其开始浏览的跟文件夹
其他属性都可以自己get,就不一一例举了
对应的点击事件如下所示:

FolderBrowserDialog folderDlg = new FolderBrowserDialog();
if(folderDlg.ShowDialog()==DialogResult.OK)
    MessageBox.Show(folderDlg.SelectedPath);

你可能感兴趣的:(c#,开发语言,wpf,设计模式)