• C# openfiledialog对文本框的操作//C#中OpenFileDialog的使用


    在WebForm中提供了FileUpload控件来供我们选择本地文件,只要我们将该控件拖到页面上了,就已经有了选择本地文件的功能了。而在WinForm中,并没有为我们提供集成该功能的控件,但为我们提供了OpenFileDialog类,我们可以利用该类来打开与选择本地文件。

    OpenFileDialog类,提供了提示用户打开文件的功能,它有如下属性和方法:

    属性:
    CheckFileExists--设置对话框在用户指定的文件名不存在时是否显示警告
    Multiselect--设置是否允许用户同时选择多个文件
    ReadOnlyChecked--获取或设置一个值,该值指示是否选定只读复选框
    SafeFileName--获取对话框中所选文件的文件名和扩展名。文件名不包含路径
    SafeFileNames--获取对话框中所有选定文件的文件名和扩展名的数组。文件名不包含路径
    ShowReadOnly--获取或设置一个值,该值指示对话框是否包含只读复选框

    方法:
    OpenFile()--返回用户所选定的只读文件的 System.IO.Stream
    Reset()--将所有属性重新设置为其默认值

    下面我们看一个提供用户选择文件的示例:
    一,拖拉一个Button按钮到WinForm窗体
    二,双击该Button,vs会自动为该按钮添加单击事件并跳转到该事件中,在该事件中添加以下代码:

    private void button10_Click(object sender, EventArgs e)
    {
    //初始化一个OpenFileDialog类
    OpenFileDialog fileDialog = new OpenFileDialog();

    //判断用户是否正确的选择了文件
    if (fileDialog.ShowDialog() == DialogResult.OK)
    {
    //获取用户选择文件的后缀名
    string extension = Path.GetExtension(fileDialog.FileName);
    //声明允许的后缀名
    string[] str = new string[] { ".gif", ".jpge", ".jpg" };
    if (!str.Contains(extension))
    {
    MessageBox.Show("仅能上传gif,jpge,jpg格式的图片!");
    }
    else
    {
    //获取用户选择的文件,并判断文件大小不能超过20K,fileInfo.Length是以字节为单位的
    FileInfo fileInfo = new FileInfo(fileDialog.FileName);
    if (fileInfo.Length  > 20480)
    {
    MessageBox.Show("上传的图片不能大于20K");
    }
    else
    {
    //在这里就可以写获取到正确文件后的代码了
    }
    }
    }
    }


    如果我们要为弹出的选择框中过滤文件类型,可以设置OpenFileDialog的Filter属性。比如我们只允许用户选择.xls文件,可以作如下设置:

    fileDialog.Filter = "(*.xls)|*.xls";

    ---------------------------------------------------------------------------------------------------------------

    C#中OpenFileDialog的使用 
    分类: C#2011-11-07 17:26890人阅读评论(0)收藏举报 
    转自:http://63542424.blog.163.com/blog/static/18883900201101963536504/ string resultFile = "";  
     OpenFileDialog openFileDialog1 = new OpenFileDialog();  openFileDialog1.InitialDirectory = "D:\Patch"; 
     openFileDialog1.Filter = "All files (*.*)|*.*|txt files (*.txt)|*.txt";  openFileDialog1.FilterIndex = 2; 
     openFileDialog1.RestoreDirectory = true; 
     if (openFileDialog1.ShowDialog() == DialogResult.OK)  resultFile = openFileDialog1.FileName; resultFile 就能得到你选中文件的路径 
     怎样设置OpenFileDialog组件的Filter,使实现一次过滤出多种扩展名的文件?? dlg.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.* " 转自:http://www.cnblogs.com/HF06995000/archive/2011/2/22.html 一、打开文件对话框(OpenFileDialog) 1、 OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录 
    Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*" FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1 RestoreDirectory 控制对话框在关闭之前是否恢复当前目录 FileName 第一个在对话框中显示的文件或最后一个选取的文件 Title 将显示在对话框标题栏中的字符 
    AddExtension 是否自动添加默认扩展名 
    CheckPathExists 在对话框返回之前,检查指定路径是否存在 DefaultExt 默认扩展名 
    DereferenceLinks 在从对话框返回前是否取消引用快捷方式 
    ShowHelp 启用"帮助"按钮 
    ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列 2、 OpenFileDialog控件有以下常用事件 
    FileOk 当用户点击"打开"或"保存"按钮时要处理的事件 HelpRequest 当用户点击"帮助"按钮时要处理的事件 
    可以用以下代码来实现上面这个对话框: 
    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(""); } } 
    路径的返回用filename是字符串类型 如:openFileDialog1.ShowDialog();  _name1= openFileDialog1.FileName;  Image imge = Image.FromFile(_name1); 3、 获取对话框的文件名 
    openfiledialog.FileName //获取或设置一个包含在文件对话框中选定的文件名字符串openfiledialog.SafeFileName //获取选定对话框中的文件名和扩展名 4、例子:   
    OpenFileDialog Open1 = new OpenFileDialog();  
    Open1.Filter = "图片文件(*.jpg,*.gif,*.bmp)|*.jpg|*.gif|*.bmp";  说明: 
    ‘|’分割的两个,一个是注释,一个是真的Filter,显示出来的是那个注释。你实际上应该选出了jpg和bmp。 
    如果要一次显示多中类型的文件,用分号分开 
    Open1.Filter="图片文件(*.jpg,*.gif,*.bmp)|*.jpg;*.gif;*.bmp";

  • 相关阅读:
    WHMCS系统API调用
    Zend Guard Loader/Zend Loader是干什么的
    代理IP收集
    Jenkins 2.x版本的节点配置选项更新
    Visual Studio 2015 未响应/已停止工作的问题解决
    Visual Studio多版本进行切换的研究
    商城产品如何应对多个客户不同的需求修改并发布对应客户的文件
    Visual Studio插件
    微软注册dll在dotnet开发时起到缓存的作用
    Visual Studio 2015出现Cannot find one or more components. Please reinstall the application.的问题解决
  • 原文地址:https://www.cnblogs.com/meimao5211/p/3339316.html
Copyright © 2020-2023  润新知