• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在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";


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#用socket传输类或结构,以及结构和bytes[]互转发布时间:2022-07-10
下一篇:
C#DispatcherTimerStart之后立即执行发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap