c# 相对路径和绝对路径问题
按下按钮,选择文件后,在对应的TextBox中显示文件绝对路径,怎么修改代码才能实现在TextBox中显示相对路径。麻烦哪位大侠帮忙解决。小弟感激不尽
private void button1_Click(object sender, EventArgs e)
{
this.openFileDialog1.Filter = "|*.*";
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
string FileName = this.openFileDialog1.FileName; // 处理文件路径代码
this.txtPath.Text = openFileDialog1.FileName; //在TextBox中显示相对路径
}
}
------解决方案--------------------根据AppDomain.CurrentDomain.BaseDirectory 和全路径,自己匹配,替换
------解决方案-------------------- OpenFileDialog op1;
string r = op1.SafeFileName;
是不是这个意思?
------解决方案--------------------绝对路径中肯定是包含AppDomain.CurrentDomain.BaseDirectory的,
将AppDomain.CurrentDomain.BaseDirectory去掉就是相对路径了
------解决方案--------------------lz理解的“相对路径”是什么意思?
openFileDialog1.FileName跟AppDomain.CurrentDomain.BaseDirectory有什么关系?
------解决方案--------------------
这位是对的,对不起,我理解错了,
如果是项目下的文件就与项目路径匹配对应,
如果是其它文件则要找个对应的路径匹配
相对路径就是相对谁而言,
主要是确定一个对照物
------解决方案--------------------比如说,winform 路径是C:\WinForm1\bin\Debug,而OpenFileDialog选择了文件D:\abc.txt,这时lz认为的“相对路径”是什么?
------解决方案--------------------
这个问题你不知道就没人知道了。
请理解7L的回答。
------解决方案--------------------还有这种的相对路径吗,这完全没啥关联,个人意见。
------解决方案--------------------如果是放在Debug文件夹下那你试试这样
openFileDialog1.FileName.Replace(AppDomain.CurrentDomain.BaseDirectory, "")
------解决方案--------------------- 对于 Windows 应用程序,可以使用 Application.ExecutablePath 属性
- 对于