WinForm相对路径的陷阱

本文所述为使用WinForm相对路径时需要注意的陷阱。这类错误经常会遇到!现分析如下供大家参考。

在Window系统上利用相对路径进行操作时,有一个“

当前目录

”的概念,

如果程序中是利用相对路径进行操作,系统会认为是在当前目录下进行操作,即 相对路径 等于 当前目录 + 相对路径 所组成的绝对路径

应用程序默认的当前目录为:

程序入口所在路径

并且在WinForm中,

OpenFileDialog.RestoreDirectory 或 SaveFileDialog.SaveFileDialog 的设置都可以影响到当前目录,可以造成当前目录的改变


当前目录一旦改变,就会影响到相对路径,进而造成文件系统的寻址不正确

所以在实际的编程中、请谨慎使用相对路径!如果因为相对路径出现bug,会让你感到欲哭无泪!

希望本文所述对大家C#程序设计有所帮助。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  WinForm相对路径的陷阱

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23603.html

相关内容

C#实现Base64处理的加密解密,编码解码示例

C#使用Windows Service的简单教程(创建、安装、卸载、调试)

C#实现简单的Login窗口实例

C#中类与接口的区别个人总结


C#中调用SAPI实现语音合成的2种方法

C#通过DataSet读写xml文件的方法

C#为配置文件加密的实现方法

C#自定义函数NetxtString生成随机字符串

时间: 2024-11-02 15:56:38

WinForm相对路径的陷阱的相关文章

C#中抽象方法与虚拟方法的区别

学过C#的人应该都知道抽象方法与虚拟方法,而很多初学者对二者之间的区别并不是很了解.今天本文就来分析一下二者之间的区别.并附上实例加以说明.具体分析如下: 一.主要区别: 对于抽象方法,子类必须实现它 . 对于虚拟方法,子类可以重写也可以不重写 . 因此, 两者约束不同 二.实例代码如下: /* 声明一个抽象类 * 1.抽象类中可以包含变量 * 2.抽象方法中无法声明方法体 */ abstract class AbsClass { string name; public abstract voi

C#中winform使用相对路径读取文件的方法

这篇文章主要介绍了C#中winform使用相对路径读取文件的方法,实例分析了C#使用相对路径读取文件的技巧与实际应用,需要的朋友可以参考下 本文实例讲述了C#中winform使用相对路径读取文件的方法.分享给大家供大家参考.具体分析如下: 目录结构如下图所示:   方法一:由于生成的exe文件在bin\debug目录下,可以使用向上查找目录的方式获取要读取的xml文件 复制代码代码如下: string haarXmlPath = @"../../haarcascade_frontalface_a

C# Winform中如何获取文件名与文件路径

获取文件名方法: 用System.IO.Path.GetFileName和System.IO.Path.GetFileNameWithoutExtension(无扩展名)的方法 获取文件路径方法: //获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名) //获取新的 Process 组件并将其与当前活动的进程关联的

JavaEE路径陷阱之getRealPath

转自:http://blog.csdn.net/shendl/article/details/1427637   JavaEE路径陷阱之getRealPath 本文是<Java路径问题最终解决方案-可定位所有资源的相对路径寻址>一文的姐妹篇.请同时阅读该文. JavaEE程序有一大路径陷阱,那就是ServletContext的getRealPath方法.我们常常使用getRealPath("/")来获得Web应用程序根目录的绝对路径.这是绝对要不得的!提供这个方法绝对是Ja

winform展示Unity3D文件(支持动态改变文件路径)

winform下展示Unity3D文件可以支持对Unity3D实现的模块进行包装,以及在其他的项目中需要展示Unity3D的界面时候,恰到适宜地进行打开展示,这里我展示如何使用winform打开Unity3D文件. 一.在Unity的官网下载并安装Unity 安装完成后的目录如下: 二.在Unity/WebPlayer64/loader-x64文件夹下找到UnityWebPluginAX.ocx文件,然后将其拖动到WindowForm工具箱中. 然后将其拖动到窗体中,并添加一个button作为动

winform学习日志(三十)----------从字符串总分离文件路径、命名、扩展名,Substring(),LastIndexOf()的使用;替换某一类字符串,Replace()的用法

一:从字符串总分离文件路径.命名.扩展名,上图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace FilePathString { public par

C# WinForm 选择目录路径和文件路径

private string SelectPath() //弹出一个选择目录的对话框 { FolderBrowserDialog path = new FolderBrowserDialog(); path.ShowDialog(); return path.SelectedPath; } private string SelectFile() //弹出一个选择文件的对话框 { OpenFileDialog file = new OpenFileDialog(); file.ShowDialog

C#.net Winform获取文件路径

C# 获取路径 string str1 =Process.GetCurrentProcess().MainModule.FileName;//获得当前执行的exe的文件名.string str2=Environment.CurrentDirectory;//获取和设置当前目录的完全限定路径.string str3=Directory.GetCurrentDirectory();//获取应用程序的当前工作目录.string str4=AppDomain.CurrentDomain.BaseDire

Winform 根据Point截图并保存到指定路径

1 /// <summary> 2 /// 获取图片流 3 /// </summary> 4 /// <param name="ImageXY">图片屏幕起始点</param> 5 /// <param name="ImageSize">图片大小</param> 6 /// <returns></returns> 7 public string CutImage(Poin