您现在的位置是:首页 > .NET

.NET

在WinForm中选择本地文件(OpenFileDialog类)示例

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

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

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

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

下面我们看一个提供用户选择文件的示例:
一,拖拉一个Button按钮到WinForm窗体
二,双击该Button,vs会自动为该按钮添加单击事件并跳转到该事件中,在该事件中添加以下代码:
privatevoidbutton10_Click(objectsender,EventArgse)
{
//初始化一个OpenFileDialog类
OpenFileDialogfileDialog=newOpenFileDialog();

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