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

摘要:
ViewCodeC#OpenFileDialog打开文件对话框(详细)1。打开文件对话框1。OpenFileDialog控件的基本属性InitialDirectory:对话框的初始目录筛选器:获取或设置当前文件名筛选器字符串,例如,“文本文件|*.txt |所有文件(*.*)||*.*”FilterIndex在对话框中选择的文件筛选器的索引。如果选择了第一项,则将其设置为1RestoreDirectory。是否在关闭对话框之前恢复当前目录文件名:对话框中显示的第一个文件或最后选定的文件标题将显示在对话框的标题栏中

1、选择文件用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";

2、使用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<string> a = DaoRuData;
   a.BeginInvoke(dialog.SelectedPath,asyncCallback, a);
}

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

 System.Diagnostics.Process.Start("ExpLore", "C:\window");
<C#>_在窗体中打开文件
C#选择文件、选择文件夹、打开文件第1张C#选择文件、选择文件夹、打开文件第2张
实现的代码如下:

public void openfile(int n)
        {
            OpenFileDialog openfile = new OpenFileDialog();


            openfile.Filter = "*.cs | *.cs";//设置文件后缀
            if (openfile.ShowDialog() == DialogResult.OK)
            {
                string filename = openfile.FileName;
                dic1.Add(n, filename);
                fileArr[n].Text = filename.Substring(filename.LastIndexOf("\") + 1, filename.LastIndexOf(".") - (filename.LastIndexOf("\") + 1));
            }           
        }



页面中的【NO】按钮是用来打开文件的,打开的文件是readonly权限,是不可编写的,点击【编辑】按钮就可以打开文件并且编辑,实现代码如下:

public void readfile(int btNumber, string mode)//点击【NO】按钮,以只读发方式打开文件
        {
            int key = Convert.ToInt16(numArr[btNumber].Text) - 1;
            foreach (KeyValuePair<int, string> kv in dic1)
            {
                if (kv.Key == key)
                {
                    System.IO.FileInfo f = new System.IO.FileInfo(kv.Value);
                    if (mode == "ReadOnly")
                    {
                        f.Attributes = System.IO.FileAttributes.ReadOnly;
                    }                   
                    System.Diagnostics.Process csProcess = System.Diagnostics.Process.Start(kv.Value);
                }
            }  
        }



public void readfile(int btNumber)//点击【编辑】按钮,以可读可写发方式打开文件
        {
            int key = Convert.ToInt16(numArr[btNumber].Text) - 1;
            foreach (KeyValuePair<int, string> kv in dic1)
            {
                if (kv.Key == key)
                {
                    System.IO.FileInfo f = new System.IO.FileInfo(kv.Value);
                    f.Attributes = System.IO.FileAttributes.Normal;
                    System.Diagnostics.Process csProcess = System.Diagnostics.Process.Start(kv.Value);
                }
            }
        }



       在C#窗体中使用代码实现文件的打开,用的是进程的思想,即Windows中每个软件都是一个进程,我们平时在电脑中自己打开一个txt文件就是打开一个进程,在代码中同样可以实现打开文件的功能。

关键语句就是:

System.Diagnostics.Process csProcess = System.Diagnostics.Process.Start(kv.Value);

这里的kv.Value是用键值对把文件名和【NO】中的序号对应起来,方便做一些读写操作。



在没有设置文件的权限时,文件是不可改变的,所以以上代码中,如果不实现

 f.Attributes = System.IO.FileAttributes.ReadOnly;

文件打开后也是不能更改的,大家可以试试。



为了使文件能够修改,要设置成 f.Attributes = System.IO.FileAttributes.Normal;



设置文件的属性主要用到了FileInfo类的Attributes属性。
View Code

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

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

1、 OpenFileDialog控件的基本属性

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

2、 OpenFileDialog控件有以下常用事件

FileOk 当用户点击"打开"或"保存"按钮时要处理的事件 
HelpRequest 当用户点击"帮助"按钮时要处理的事件

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

C#选择文件、选择文件夹、打开文件第3张C#选择文件、选择文件夹、打开文件第4张
private void openFileDialogBTN_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("");
    }
}
View Code

3、 获取对话框的文件名

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

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

二、打开文件夹对话框(FolderBrowserDialog)
C#选择文件、选择文件夹、打开文件第5张C#选择文件、选择文件夹、打开文件第6张
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件路径";

if (dialog.ShowDialog() == DialogResult.OK)
{
    savePath = dialog.SelectedPath;
    textBox2.Text = savePath;
}
View Code

免责声明:文章转载自《C#选择文件、选择文件夹、打开文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Docker环境 ELK 快速部署制作Ubuntu Kylin局域网源下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

四分位数

四分位数是统计学里一个很重要的概念,实际应用中,所画出来的箱图,就使用到了这个概念,只有懂了四分位的概念才能看懂箱图所表达的意思。我这里通过一个实际的案例来说明四分位数的求取过程。首先我们看下数据的情况,如下图所示,数据的总个数为10个1、在求取四分位数据时,首先必须做的是要对数据进行升序排序,如下图。例如:n的值为5、9、13等等,就是可以在数列中直接找到...

ES开启慢查询日志

10s#超过10秒的查询将生成警告日志index.search.slowlog.threshold.query.info:5s#超过5秒的查询会生成信息日志index.search.slowlog.tthreshold.query.debug:...

FastDFS安装

FastDFS安装包FastDFS安装包百度网盘密码aj4f下载后把安装包移动到服务器里面这里我把安装包放在opt/FastDFSFastDFS安装安装环境在本地安装就需要安装gcc环境yum-yinstallcmakemakegcc-c++在阿里服务器因为帮你配置好了的解压libfastcommon到指定目录解压-C指定解压的目录#解压[root@rzkF...

JavaScript算法学习:获取字符串最后一位方法及判断是否以指定字符串开始或结尾

Str.substr,其中start是必需的参数,表示坐标的起始位置。正值在正方向计数,负值在反方向计数,长度是可选参数,表示从起始位置开始计数的数字。...

开源跳板机jumpserver的安装部署和使用详细教程及踩坑经验

安装篇jumpserver需要依赖于mysql数据库,python开发工具的支持,所以需要安装一系列软件。按照提示进行所有流程的安装,安装完成之后访问http://ip:8000端口即可登录到jumpserver。因为jumpserver会在被管理的后端主机上通过此处指定的管理用户来添加指定的用户和sudo权限:配置sudo授权,用于添加sudo授权。...

PHP 垃圾回收机制(转)

GC进程通常从每个会话开始运行。GC的目的是在会话文件过期__destruct/unset__destruct()析构函数后自动销毁和删除它们。PHP将使用全局变量session.gc_Probability和session.gc_advisor的值session.gc_Probability=1,...