C#使用openFileDialog打开文件并且获取该路径

C#使用openFileDialog打开文件并且获取该路径,第1张

1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

-获取模块的完整路径。

2.System.Environment.CurrentDirectory

-获取和设置当前目录(该进程从中启动的目录)的完全限定目录。

3.System.IO.Directory.GetCurrentDirectory()

-获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,

4.System.AppDomain.CurrentDomain.BaseDirectory

-获取程序的基目录。

5.System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase

-获取和设置包括该应用程序的目录的名称。

6. System.Windows.Forms.Application.StartupPath

-获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已

7.System.Windows.Forms.Application.ExecutablePath

-获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。

对于Windows程序 和Web 应用程序来说,他们运行的路径是不一样的,所以关键是判断当前运行的程序是哪种程序.于是我们可以使用如下的代码

string path = ""

if (System.Environment.CurrentDirectory ==AppDomain.CurrentDomain.BaseDirectory)//Windows应用程序则相等

...{

path = AppDomain.CurrentDomain.BaseDirectory

}

else

...{

path = AppDomain.CurrentDomain.BaseDirectory + "Bin\"

}

这样如果我们写了一个类库,类库中用到了Assembly.LoadFrom,由于是通用类库,所以可能用到Windows程序中也可能用到Web中,那么用上面的代码就很方便了.

1、Server.MapPath

2、System.Windows.Forms.StartupPath

3、Type.Assembly.Location

方法2可以应用于控制台应用程序,WinForm应用程序,Windows服务,方法1可以应用于Web应用程序,方法3都可以应用。

但方法3是加载应用程序的路径。如果是Web应用程序,取得的路径是:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files目录。所以Web项目还是使用Server.MapPath吧。否则建议使用方法2。如果自己新建类库。可以加入对System.Windows.Forms.StartupPath的引用后使用

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 2005,新建一个C# Windows应用程序项目,如下图所示(点击可看大图)。

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

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

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

(4) 为Button控件(button1)的鼠标单击(Click)事件添加如下代码:

private void button1_Click(object sender, EventArgs e)

{

if (this.openFileDialog1.ShowDialog() == DialogResult.OK)

{

this.textBox1.Text = this.openFileDialog1.FileName

}

}

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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11501154.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存