• C#打开文件对话框


      这是我写的第一个C#程序,拆分百科词条用的.词条包一般至少在10W左右,多的也有50W+的,但每次任务只能导入5K,之前一直手动拆分的,费时费力,而且我耐心不足,分着分着就干别的去了.所以分出来的质量也不高.

      

      界面如上图.点击浏览,会弹出打开文件对话框.如下图

      

      代码如下

     1 private void button2_Click(object sender, EventArgs e)
     2         {
     3             this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
     4             this.openFileDialog1.FileName = "打开文件";
     5             this.openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
     6             this.openFileDialog1.FilterIndex = 2;
     7             this.openFileDialog1.FileOk += new System.ComponentModel.CancelEventHandler(this.openFileDialog1_FileOk);
     8             
     9             if (openFileDialog1.ShowDialog() == DialogResult.OK)
    10             {
    11                 filename = openFileDialog1.FileName;
    12                 textBox2.Text = filename;
    13                
    14             }
    15             
    16         }

      代码说明:

      *button2就是"浏览"按钮,被点击后触发函数;

      *新建一个System.Windows.Forms.OpenFileDialog()对象,即打开文件对话框;

      *FileName这个成员就是文件名后面出现的text框里的内容.(我这里用法不对).可以用它得到所选文件的文件名,我应该设置一个默认的文件名或者置空;

      *FileOk当用户单击文件对话框中的“打开”“保存”按钮时发生;

    *Filter获取或设置当前文件名筛选器字符串,"该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容。" 

        *Fliter的格式是"文件说明|文件后缀",如"txt files (*.txt)|*.txt",如果有多个筛选的话,也用"|"隔开,如"txt files (*.txt)|*.txt|All files (*.*)|*.*";(*是通配符)

      *FilterIndex是索引,通俗的说就是默认显示的筛选选项,我设置为"2",所以默认显示"All files (*.*)";

      *openFileDialog1.ShowDialog() "打开文件"对话框就出现;

          *其返回值为DialogResult.OK(确定)DialogResult.Cancel(取消);

          *如果点击"确定",则执行把openFileDialog1.FileName赋值给filename,然后filename作为打开文件的参数,打开指定文件;

    *CommonDialog.ShowDialog 方法

        *此方法实现 RunDialog

        *如果用户在对话框中单击“确定”,则为 DialogResult.OK;否则为 DialogResult.Cancel

      *textBox2.Text = filename;"浏览"前面的textbox为textBox2,把文件名显示在这里,是为了用户方便;



    下面是MSDN的OpenFileDialog内容,我先摘一些有用的,不要怪我懒......

    先上代码吧:

     1 private void button1_Click(object sender, System.EventArgs e)
     2 {
     3     Stream myStream = null;
     4     OpenFileDialog openFileDialog1 = new OpenFileDialog();
     5 
     6     openFileDialog1.InitialDirectory = "c:\" ;
     7     openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
     8     openFileDialog1.FilterIndex = 2 ;
     9     openFileDialog1.RestoreDirectory = true ;
    10 
    11     if(openFileDialog1.ShowDialog() == DialogResult.OK)
    12     {
    13         try
    14         {
    15             if ((myStream = openFileDialog1.OpenFile()) != null)
    16             {
    17                 using (myStream)
    18                 {
    19                     // Insert code to read the stream here.
    20                 }
    21             }
    22         }
    23         catch (Exception ex)
    24         {
    25             MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message);
    26         }
    27     }
    28 }

      我的代码差不多跟人家的相同(汗)

      *InitialDirectory,是初始的文件目录;

      *RestoreDirectory的值为true or false;表示是否储存上次选择的目录;

      *MSDN英文原文:true if the dialog box restores the current directory to its original value if the user changed the directory while searching for files; otherwise, false. /*汉语翻译貌似有问题.  但是我试验了几次都不知道这个怎么用,我用true或者false结果都相同(汗)*/

      成员

    AddExtension 

      *获取或设置一个值,该值指示如果用户省略扩展名,对话框是否自动在文件名中添加扩展名。

    $CheckFileExists

      *如果对话框在用户指定的文件名不存在时显示警告,则为 true;反之,则为 false 默认值为 true 

    $Multiselect

      *获取或设置一个值,该值指示对话框是否允许选择多个文件。

    $SafeFileName

      *获取对话框中所选文件的文件名和扩展名。 文件名不包含路径。

      *如:filename=openFileDialog1.SafeFileName;则filename的值只是文件名,没有路径;

     

    ---恢复内容结束---

  • 相关阅读:
    css基础
    html常用标签
    自写一个ant-design-pro AnimationList组件
    设计一个A表数据抽取到B表的抽取过程
    垂直、水平方向观看楼层天际线不变情况下能增加的建筑物高度最大总和
    JavaScript 新旧替换一:变量声明
    前端异常类型及捕获方式
    自定义 create-react-app
    Git Commit 规范参考
    JavaScript 团队规范参考
  • 原文地址:https://www.cnblogs.com/Fadinglemon/p/3611930.html
Copyright © 2020-2023  润新知