C# winform选择文件、选择文件夹、打开文件


C# winform选择文件、选择文件夹、打开文件

来源:

一、选择文件用OpenDialog

OpenFileDialog dialog = new OpenFileDialog();
dialog.Multiselect = true;//该值确定是否可以选择多个文件
dialog.Title = "请选择文件夹";
dialog.Filter = "所有文件(*.*)|*.*";
if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
    string file = dialog.FileName;
}

Filter 属性 赋值为一字符串 用于过滤文件类型;
字符串说明如下:
‘|’分割的两个,一个是注释,一个是真的Filter,显示出来的是那个注释。如果要一次显示多中类型的文件,用分号分开。
如:
Open1.Filter="图片文件(.jpg,.gif,.bmp)|.jpg;.gif;.bmp";
则过滤的文件类型为 “|”号 右边的 .jpg;.gif;.bmp 三种类型文件,在OpenDialog/SaveDialog中显示给用户看的文件类型字符串则是 :“|”号 左边的 图片文件(.jpg,.gif,.bmp)。
再如:
Open1.Filter="图像文件(.jpg;.jpg;.jpeg;.gif;.png)|.jpg;.jpeg;.gif;*.png";

二、选择文件夹使用System.Windows.Forms.FolderBrowserDialog

  System.Windows.Forms.FolderBrowserDialog dialog =new System.Windows.Forms.FolderBrowserDialog();
  dialog.Description = "请选择Txt所在文件夹";
  if (dialog.ShowDialog()==System.Windows.Forms.DialogResult.OK  )
  {
     if (string.IsNullOrEmpty(dialog.SelectedPath))
     {
         System.Windows.MessageBox.Show(this, "文件夹路径不能为空", "提示");
         return;
     }
    this.LoadingText = "处理中...";
    this.LoadingDisplay = true;
    Action a = DaoRuData;
    a.BeginInvoke(dialog.SelectedPath,asyncCallback, a);
 }

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

System.Diagnostics.Process.Start("ExpLore", "C:\window");

C# OpenFileDialog打开文件对话框(详解)

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

可以用以下代码来实现上面这个对话框:

private void openF
ileDialogBTN_Click(object sender, System.EventArgs e)
{
    OpenFileDialog openFileDialog=new OpenFileDialog();
    openFileDialog.InitialDirectory="c:\\";//注意这里写路径时要用c:\\而不是c:\
    openFileDialog.Filter="文本文件|*.*|C#文件|*.cs|所有文件|*.*";
    openFileDialog.RestoreDirectory=true;
    openFileDialog.FilterIndex=1;
    if (openFileDialog.ShowDialog()==DialogResult.OK)
    {
        fName=openFileDialog.FileName;
        File fileOpen=new File(fName);
        isFileHaveName=true;
        richTextBox1.Text=fileOpen.ReadFile();
        richTextBox1.AppendText("");
    }
}

3、 获取对话框的文件名
openfiledialog.FileName //获取或设置一个包含在文件对话框中选定的文件名字符串

openfiledialog.SafeFileName //获取选定对话框中的文件名和扩展名

二、打开文件夹对话框(FolderBrowserDialog)

FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件路径";
if (dialog.ShowDialog() == DialogResult.OK)
{
    savePath = dialog.SelectedPath;
    textBox2.Text = savePath;
}

C