• 如何使用 OpenFileDialog 组件


    如何使用 OpenFileDialog 组件

    Windows 窗体的 OpenFileDialog(打开文件对话框)组件是一个预先配置的对话框。它与 Windows 操作系统的“打开文件”对话框相同。该控件是从 CommonDialog 类继承的。


      在基于 Windows 的应用程序中,可该组件实现简单的文件选择,而不必配置自己的对话框。利用标准的 Windows 对话框,可以创建用户所熟悉的应用程序界面。
    OpenFileDialog 组件的主要属性包括:

     


      (1)  Title 属性:获取或设置文件对话框标题。默认值为空字符串("")。
    如果标题为空字符串,系统将使用默认标题“打开”。

     


      (2)  Multiselect 属性:获取或设置一个值,该值指示对话框是否允许选择多个文件。
      如果对话框允许同时选定多个文件,则为 true;反之,则为 false。默认值为 false。使用 FileNames 属性可访问选定文件名的完整列表。

     


      (3)  ShowReadOnly 属性:获取或设置一个值,该值指示对话框是否包含只读复选框。
    如果对话框包含只读复选框,则为 true;否则为 false。默认值为 false。

     


      (4)  ReadOnlyChecked 属性:获取或设置一个值,该值指示是否选定只读复选框。
      如果选中了只读复选框,则为 true;反之,则为 false。默认值为 false。

     


      (5)  Filter 属性:获取或设置当前文件名过滤字符串,该字符串决定对话框的“文件类型”框中出现的选择内容。
      对于每个过滤选项,过滤字符串都包含过滤条件说明,后接一垂直线条(|)和过滤模式。不同过滤选项的字符串由垂直线条隔开。例如:
      "Text files (*.txt)|*.txt|All files (*.*)|*.*"
      如果要将多个过滤模式添加到过滤条件中,可用分号将文件类型分隔开,例如:
      "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*"
      使用 FilterIndex 属性设置第一个显示给用户的过滤选项。

     


      (6)  FilterIndex 属性:获取或设置文件对话框中当前选定过滤条件的索引。
    默认值为 1。第一个过滤条目的索引值为 1。

     


      (7)  FileName 属性:获取或设置一个包含在文件对话框中选定的文件名的字符串。也就是在对话框中选择的文件名,默认值为空字符串("")。
      文件名既包含文件路径也包含扩展名。如果未选定文件,将返回空字符串。

     


      (8)  FileNames 属性:获取对话框中所有选定文件的文件名。
      属性值是一个 String 类型数组。每个文件名都既包含文件路径又包含文件扩展名。如果未选定文件,该方法将返回空数组。

     


      该组件的主要方法包括:

     


      (1)  ShowDialog 方法:在运行时显示对话框。

     


      (2)  OpenFile 方法:打开用户选定的具有只读权限的文件,该文件由 FileName 属性指定。
      使用该方法可从对话框以只读方式快速打开文件。

     


      下面的实例简单介绍了如何使用打开文件对话框(OpenFileDialog)组件来选择文件的编程技术。

    具体步骤如下:


    (1)  启动Visual Studio 2010,新建一个C# Windows应用程序项目,如下图所示

     (2)  在程序设计窗体中添加一个Label控件,设置其Text属性为“您选择的文件:”;再添加一个TextBox控件,保留其默认属性即可;再添加一个Button控件,设置其Text属性为“选择文件”。调整窗体和控件的大小以适合窗口。

     (3)  向程序设计窗体中添加一个OpenFileDialog控件,在属性对话框中设置其Filter属性为“所有文件(*.*)|*.*|文本文件 (*.txt)|*.txt|WPS文档(*.wps)|*.wps|Word文档(*.doc)|*.doc”,设置其FileName属性为空字符 串。

     将 OpenFileDialog 控件添加到窗体后,它会出现在窗体设计器底部的栏中。


    (4)  为Button控件(选择文件)的鼠标单击(Click)事件添加如下代码:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    
    
    namespace WindowsFormsApplication1
    {
        public partial class fileUpdate : Form
        {
            public fileUpdate()
            {
                InitializeComponent();
                //设置textBox只读
                textBox1.Enabled = false;
            }
    
            private void openFileDialog1_FileOk(object sender, CancelEventArgs e)
            {
                //OpenFileDialog openFile = new OpenFileDialog();
                ////InitialDirectory 对话框的初始目录
                //openFile.InitialDirectory = "C:\";
                ////Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"
                //openFile.Filter = "文本文件|*.*|C#文件|*.cs|所有文件|*.*";
                ////RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
                //openFile.RestoreDirectory = true;
                ////FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
                //openFile.FilterIndex = 1;
                //string fName = "";
                //if (openFile.ShowDialog() == DialogResult.OK)
                //{
                //    fName = openFileDialog1.FileName;
                //   // File file = new File(fName);
                //}
    
            }
            //定义选择文件按钮的时间
            private void button1_Click(object sender, EventArgs e)
            {
                if (this.openFileDialog1.ShowDialog() == DialogResult.OK) {
                    textBox1.Text = this.openFileDialog1.FileName;   
        
                }
            }
        }
    }

    运行实例程序,单击“选择文件”按钮将弹出您熟悉的Windows“打开”对话框,选择文件后,文件名显示在窗体的文本框中。

     

  • 相关阅读:
    Codeforces 1491 D. Zookeeper and The Infinite Zoo (二进制处理)
    Codeforces 1479A. Searching Local Minimum(注意输入+二分)
    Codeforces 1480B. The Great Hero(阅读模拟题,注意数据范围和攻击顺序)
    Codeforces 1480A. Yet Another String Game (阅读理解题)
    windows 10 开启全盘瞬间索引功能
    JetBrains CLion C++ IDE连接wsl2(Ubuntu)时,报错"Unable to establish SSL connection"解决方案
    WorkFlowy 的 MarkDown 预览方案解决
    git 学习 完全学懂
    jeecgboot <j-popup
    面试之类加载器
  • 原文地址:https://www.cnblogs.com/zhang-bo/p/6902987.html
Copyright © 2020-2023  润新知