从 OpenFileDialog 路径/文件名中提取路径

2024-07-03

我正在编写一个小实用程序,首先选择一个文件,然后我需要选择一个文件夹。我想将文件夹默认为所选文件所在的位置。

OpenFileDialog.FileName返回完整路径和文件名- 我想要的是获得路径部分(无文件名),所以我可以用它作为初始选定的文件夹.

    private System.Windows.Forms.OpenFileDialog ofd;
    private System.Windows.Forms.FolderBrowserDialog fbd;
    ...
    if (ofd.ShowDialog() == DialogResult.OK)
    {
        string sourceFile = ofd.FileName;
        string sourceFolder = ???;
    }
    ...
    fbd.SelectedPath = sourceFolder; // set initial fbd.ShowDialog() folder
    if (fbd.ShowDialog() == DialogResult.OK)
    {
       ...
    }

有没有任何 .NET 方法可以做到这一点,或者我需要使用regex, split, trim, etc??


Use the Path http://msdn.microsoft.com/en-us/library/system.io.path.aspx班级来自System.IO http://msdn.microsoft.com/en-us/library/system.io.aspx。它包含用于操作文件路径的有用调用,包括GetDirectoryName http://msdn.microsoft.com/en-us/library/system.io.path.getdirectoryname.aspx它会执行您想要的操作,返回文件路径的目录部分。

使用方法很简单。

string directoryPath = Path.GetDirectoryName(filePath);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 OpenFileDialog 路径/文件名中提取路径 的相关文章

  • 在 C++ 中访问静态类变量?

    复制 C 对静态类成员的未定义引用 https stackoverflow com questions 272900 c undefined reference to static class member 如果我有这样的类 结构 head
  • 如何检测动态绘制图形的点击?

    我正在面板上绘制文件和文件夹名称列表 并试图集体讨论检测用户是否单击文件 文件夹名称以及何时单击文件 文件夹名称以及他们实际单击的文件或文件夹名称的最佳方法 以下是我迄今为止编写的方法 我的第一个想法是用透明控件搭载每段文本 并以这种方式动
  • 预期主表达式在“...”之前,C++ 编译错误

    SO 上有很多类似标题的帖子 但它们似乎是由各种语法错误触发的 而且我还没有看到一致的模式 using namespace std class A public A int a a a int a int main A x 3 A y 0
  • C++:你会选择 boost::date_time 还是 icu::date/time 库?

    我的应用程序需要自定义时间和日期设置功能 我检查了 ICU 和 boost date time 库 从完整性的角度来看 两者似乎都满足我的要求 我想知道两者之间是否有任何偏好 依据是什么 哪一个会在表现上得分 如果没有有关您的特定用例和环境
  • 尝试访问 USB 设备时出现 RPC_E_CANTCALLOUT_ININPUTSYNCCALL

    我有这段代码 var searcher new ManagementObjectSearcher root CIMV2 SELECT FROM Win32 DiskDrive foreach var queryObj in searcher
  • 与对象的互斥体

    我试图了解如何在 C 中将互斥体与对象一起使用 我有以下 简单的 多线程代码用作速度测试 struct Rope int n steps offset std mutex mut Rope Rope int n int steps int
  • C# 中的新类型定义

    我正在寻找定义新类型并在 C 中使用它的可能性 如下所示 类定义 public class Position public double180 Longitude get set double180 is a type within a r
  • 如何将编译的正则表达式(std::regex)保存/序列化到文件?

    我在用着
  • 多次声明全局变量时,GCC 没有警告或错误[重复]

    这个问题在这里已经有答案了 假设有以下代码 File a c include
  • 在程序中使用 resources.resx 中的嵌入文件

    我有一个程序 它需要一个文本文件来保存一些信息 我有当前使用文件路径的函数 然后用它来做一些事情 但是 我想将程序构建为 exe 但文件显然不会位于同一个位置 经过研究 我发现使用嵌入式资源可以让我将文本文件添加到程序中 但我似乎无法用它做
  • SWIG Python 结构体数组

    我已经搜索了几天 试图弄清楚如何将结构数组转换为 Python 列表 我有一个函数返回指向数组开头的指针 struct foo int member struct foo bar struct foo t malloc sizeof str
  • pthread 线程状态

    是否有一种机制可以用来判断 pthread 线程当前是否正在运行或已退出 如果线程尚未退出 pthread join 是否有一种方法能够在特定时间段后超时 如果您仅针对 Linux 请使用http www kernel org doc ma
  • 如何获得 firebird 数据库上的独占锁以执行架构更改?

    更具体地说 我正在使用 firebird 2 1 和 Visual Studio 的 DDEX Provider 并且我正在使用 c 工作 我遇到一种情况 我试图将模式更改从 C 应用到数据库 以 更新 我的数据库 在此过程中 我从 fir
  • 无堆栈协程与堆栈协程有何不同?

    背景 我问这个问题是因为我目前有一个具有许多 数百到数千 线程的应用程序 这些线程中的大多数在很大一部分时间内处于空闲状态 等待将工作项放入队列中 当工作项可用时 它会通过调用一些任意复杂的现有代码来处理 在某些操作系统配置上 应用程序会遇
  • 如何解决有关 TcpListener: 请使用 TcpListener(IPAddress localaddr, int port) 的警告?

    我创建了一个新表单 在顶部我做了 using System using System Collections Generic using System ComponentModel using System Data using Syste
  • 使用Swashbuckle ISchemaFilter设置输入参数的默认描述

    我想在文档架构中为所有具有 DateTime 类型的输入参数添加默认描述 这样客户就会了解我们正在使用哪些格式等 我可以为此目的创建 ISchemaFilter 的自定义实现吗 我知道我可以使用 xml 注释添加描述 但在这种情况下 我应该
  • 如何使信号客户端避免表单身份验证?

    我的 MVC 网站在 web config 中有表单授权 现在所有的页面都需要通过授权才能被查看 但是现在我有一个控制台程序 C 控制台程序 这个程序需要发送一些消息到 SignalR 集线器 但是我的 signalR Hub 在我的 MV
  • 将字符串中的每个字符转换为 ASCII

    谁能告诉我如何轻松地将字符串中的每个字符转换为 ASCII 值 以便我可以对这些值求和 我需要对哈希函数的值求和 字符串中的每个字符都已经是 ascii include
  • 如何等待进程及其所有子进程退出?

    是否有一个等待方法 当目标进程及其所有子进程退出时会返回 看来 Process WaitForExit 只会等待目标进程 net 中有一个错误会给出您所追求的行为 WaitForExit 如果您异步读取输出 将等待所有子进程 p Start
  • Windows 窗体应用程序中异常处理的最佳实践?

    我目前正在编写我的第一个 Windows 窗体应用程序 我现在已经阅读了几本 C 书籍 因此对 C 必须处理异常的语言特性有了相对较好的了解 然而 它们都非常理论化 因此我还没有了解如何将基本概念转化为应用程序中良好的异常处理模型 有人愿意

随机推荐

  • 带有 ñ 等特殊字符的 php

    起初我认为问题是当我从 ajax 调用返回 echo json encode row 时 结果 更改为 NULL 但经过测试 我发现这个问题早在之前就已经存在了 在示例 php 文件中 test Nu ez echo test 结果就是Nu
  • JavaScript 中的 DOM 和 BOM 是什么?

    JavaScript 中的 DOM 和 BOM 是什么 如果有人能用通俗易懂的语言解释这些 那就太好了 我喜欢对这些有更深入的了解 BOM 浏览器对象模型 由以下对象组成navigator history screen location a
  • 在哪里可以找到旧的“开发者协作”插件?

    曾几何时 有一个名为 开发人员协作 的 NetBeans 插件 它允许您进行远程结对编程 现在 在 Netbeans 6 7 中 不再有 开发人员协作 而是有一种称为 Kenai 支持 的东西 不幸的是 Kenai 似乎没有实时编辑器 它似
  • Tobii 眼球追踪器

    我们正在尝试将 Tobii 眼动仪连接到 Ubuntu OS 16 04 6 LTS Nvidia Jetson TX2 模块 然而 当我们想要 pip install tobii research 时 我们不断收到一条错误消息 指出没有找
  • Xcode 版本中的 GM 是什么意思

    我是 xcode 和 ios 开发的新手 最近我看到了 xcode 版本 例如Xcode 6 0 通用版进而Xcode 6 0 我想知道我们应该如何处理 GM 或者我们需要等到非 GM 版本才能构建 ios 应用程序 谁能给我解释一下吗 X
  • 在动态表单上添加规则

    我正在尝试根据后端的 JSON 响应在动态填充的表单上添加验证规则 我正在使用 jQuery 1 9 1 和 jQuery 验证插件 function getItems Id ajax url success function items
  • Python 子类实例的输入签名?

    考虑 from future import annotations class A classmethod def get cls gt A return cls class B A pass def func gt B Line 12 r
  • Android - 比较两个日期

    我想比较我的申请中的两个日期 第一个日期将是今天的日期 第二个来自数据库 为了保存第二个日期 我的代码如下 为了简单起见 使用明天的日期 Calendar calendar Calendar getInstance calendar add
  • RMarkdown。如何减少标题栏和正文开头之间的间距

    我已经在 Mac 上通过 RStudio 成功使用了 RMarkdown 最近升级到 RStudio 1 2 5019 和tinytex 0 18 现在我的 标题块 和 第一个正文文本 标题 之间的垂直间距增加了 简单的例子 故意排除aut
  • Java:this关键字前面加类名

    我在 jdk 8 的 ArrayList java 中找到了一个片段 SuppressWarnings unchecked public E next checkForComodification int i cursor if i gt
  • 通过VB6读取多个XML文件

    我需要将多个巨大的 xml 数据文件导入到 Excel 中 我不能使用简单的loadXML 函数 因为 Excel 没有足够的可用 RAM 一些 xml 文件约为 100mb 现在我真的尝试了很多 但根本无法实现 XML 文件示例
  • PHP 迭代 $_POST 并按名称使用值

    我有一个表单 其中包含许多名称为 item1 item2 item13 item43 等的字段 每次这些字段都不同 因为它们是使用 AJAX 填充在表单中的 当用户提交时我需要执行以下操作 foreach POST itemX tagsX
  • 从应用程序内发送的短信似乎无法检测到?

    我刚刚创建了一个很酷的应用程序 可以与短信一起使用 我想对我的用户说 别担心 我的应用程序会发送短信 但您可以在您最喜欢的短信应用程序中跟踪它们 我不想让他们担心我会超载他们的月费 所以 我发送短信的方式很简单 SmsManager sms
  • NumPy ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()

    我正在 NumPy 中计算矩阵的特征向量和特征值 只是想通过assert陈述 这会引发一个我不太理解的 ValueError 因为打印这些比较效果很好 有什么建议我可以得到这个assert声明有效吗 import numpy as np A
  • httplib2 支持 http 代理吗? Socks 代理可以工作,但 http 不行

    这是我的代码 我无法让任何 http 代理工作 不过 袜子代理 socks4 5 工作正常 有什么想法吗 不过 urllib2 与代理一起工作得很好 我很困惑 谢谢 Code 1 import socks 2 import httplib2
  • 如何从动态命名范围中进行 OFFSET 并在 SUMPRODUCT 中使用该范围?

    情况 我正进入 状态 Value 当试图通过OFFSET动态命名范围的SUMPRODUCT Setup 我在 Sheet1 的 A2 B4 范围内有以下数据 TextA 1 TextA 2 TextB 3 我创建了一个动态命名范围 text
  • 如何获取音频JS的位深度/采样率?

    我需要获取由标准输入元素加载的音频文件的采样率 我尝试使用这个功能 function func e let reader new FileReader reader readAsArrayBuffer e files 0 reader on
  • 永久更改节点调用堆栈大小

    我想增加 stack sizeNodejs 系统范围的选项 我知道我可以在每次调用的基础上执行此操作 如下所示 node stack size 10000
  • 将字符移动到字符串中会使迭代器失效吗?

    所以迭代一个字符串并使用operator 或插入更改字符会使迭代器无效 像这样的迭代也是如此吗 std string str ABCD for auto c str for int i 0 i lt 3 i switch c case A
  • 从 OpenFileDialog 路径/文件名中提取路径

    我正在编写一个小实用程序 首先选择一个文件 然后我需要选择一个文件夹 我想将文件夹默认为所选文件所在的位置 OpenFileDialog FileName返回完整路径和文件名 我想要的是获得路径部分 无文件名 所以我可以用它作为初始选定的文