zoukankan      html  css  js  c++  java
  • (转)在WinForm中选择本地文件

    相信很多朋友在日常的编程中总会遇到各钟各样的问题,关于在WinForm中选择本地文件就是很多朋友们都认为很难的一个学习.net的难点,

    在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 (!((IList)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";

    综上所述,在WinForm中选择本地文件的相关内容已经由达内培训为您介绍完了,希望朋友们能对此有所收获。

  • 相关阅读:
    在有多个input的表单当中按回车按钮,如何不自动提交表单,而触发某个按钮的事件
    login.jsp
    json数据源
    translation.js
    cookie.js
    i18next.min.js
    struts2拦截器实现原理
    proxy-target-class="true" 与proxy-target-class="false"的区别(声明事务的时候)
    NavLink
    【转载】target='_blank' 安全漏洞示例
  • 原文地址:https://www.cnblogs.com/wangyt223/p/3214246.html
Copyright © 2011-2022 走看看