如何从 TreeNode.FullPath 数据获取实际的树节点?

2023-12-24

我想存储 TreeNode.FullPath 中的一些数据,然后我想重新扩展到目前为止的所有内容。有简单的方法吗?

多谢!


您可以将其编写为扩展方法TreeNodeCollection:

using System;
using System.Linq;
using System.Windows.Forms;

namespace Extensions.TreeViewCollection
{
    public static class TreeNodeCollectionUtils
    {
        public static TreeNode FindTreeNodeByFullPath(this TreeNodeCollection collection, string fullPath, StringComparison comparison = StringComparison.InvariantCultureIgnoreCase)
        {
            var foundNode = collection.Cast<TreeNode>().FirstOrDefault(tn => string.Equals(tn.FullPath, fullPath, comparison));
            if (null == foundNode)
            {
                foreach (var childNode in collection.Cast<TreeNode>())
                {
                    var foundChildNode = FindTreeNodeByFullPath(childNode.Nodes, fullPath, comparison);
                    if (null != foundChildNode)
                    {
                        return foundChildNode;
                    }
                }
            }

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

如何从 TreeNode.FullPath 数据获取实际的树节点? 的相关文章

  • 将 Office (Word Excel) 嵌入到 WinForms 或 WPF 控件中

    是否可以在WinForms控件中嵌入Office应用程序 在计算机上安装了office 您只需要添加这些 using 语句 using Microsoft Office Interop using Microsoft Office Inte
  • winforms 的 MVVM [重复]

    这个问题在这里已经有答案了 可能的重复 Windows 窗体的 UI 设计模式 如 WPF 的 MVVM https stackoverflow com questions 595469 ui design pattern for wind
  • 阻止Winform最大化?

    我想防止我的桌面应用程序最大化 它不应该以任何方式最大化 通过双击标题栏 或通过单击键盘上的 Windows 向上箭头等 gt 我禁用了这两个最大化框 and 最小化框 gt 我还设置了最大尺寸 and 最小尺寸对于我的 WinForm仍然
  • .NET Winform 键盘控件

    有没有winform键盘控件 我正在寻找一个可以拖放的控件 这是针对具有触摸屏功能的仓库应用程序 如餐厅应用程序中的应用程序 这是一篇 CodeProject 文章 详细介绍了如何创建触摸屏键盘 触摸屏键盘 http www codepro
  • 在 WinForms 上使用 async/await 访问 Task.Run 中的 UI 控件

    我在 WinForms 应用程序中有以下代码 其中包含一个按钮和一个标签 using System using System IO using System Threading Tasks using System Windows Form
  • 检测控件是否已释放

    在我的应用程序中 我有一个使用线程池执行异步操作的用户控件 线程池方法如下 private void AsyncFunction object state do the calculation refresh the grid data o
  • 我可以为我在面板上绘制的节点显示工具提示吗?

    我有一个 MMO 网格系统及其用途A 寻找路径 有时它会失败 因为我的节点放置不当 为了解决这个问题 我制作了一个网格可视化器 它工作正常 我可以看到一些节点放置得不好 但我看不到哪些节点 这是我显示节点的代码 foreach var no
  • 有没有一种方法可以在 TreeView.Nodes 集合中搜索 TreeNode.Text 字段?

    像这样 TreeNode treeNodes treeView Nodes Find searchString true 但我希望它在text字段而不是name field 我不知道有任何内置方法 但你可以使用 LINQ TreeNode
  • Word Automation - 文件正在被其他应用程序或用户使用

    我有一个 WinForms 应用程序 我在其中使用 Word Automation 通过模板构建文档 然后将它们保存到数据库中 创建文档后 我从数据库检索文档 将其写入文件系统的临时目录中 然后使用 Word Interop 服务打开该文档
  • 如何将DataGridView与SqlDataReader绑定

    任何人都可以在这段代码中帮助我吗 我正在尝试将数据与 datagridview 绑定 查询在 sql server 中返回值 但它没有绑定 DataGridView 中的任何值 private void CheckMembers try s
  • 从任务并行库更新 ProgressBar UI 对象

    基本上我想更新 FormMain WindowsForm 上的 ProgressBar UI 对象 我正在使用 NET 4 0 以下是 Form1 Designer cs 中的代码 namespace ProgressBarApp publ
  • 从用户控件访问父控件 - C#

    如何访问C winform 中用户控件的父控件 我使用以下代码 但它并不适用于所有类型的控件 例如 ListBox Control Co this TopLevelControl Controls Find label7 true Co 0
  • WinForms 验证事件阻止 Escape 键关闭表单

    我有一个简单的表单 带有一个文本框 加上 确定 和 取消 按钮 表单的 AcceptButton 和 CancelButton 设置正确 并且 确定 和 取消 按钮的 DialogResult 设置为 确定 和 取消 我想向 TextBox
  • 如何自动将VS2003类转换为部分Designer.cs文件?

    我正在将项目从 Visual Studio 2003 升级到 2008 并希望自动生成XXX Designer cs文件并更新相应的XXX cs原版的 有什么自动的方法吗 UPDATE 我指的是WinForms 当然 我知道旧样式有效 但我
  • 调整窗口大小 C#

    是否可以从另一个应用程序中调整正在运行的应用程序的窗口大小 我希望当我正在构建的应用程序启动时 另一个应用程序 比如说 itunes 的宽度减少到其 2 3 以便剩余的 1 3 由我的应用程序占用 这两个应用程序应该一起运行并且可供用户访问
  • 按比例调整图片框的大小以调整表单大小

    我希望每次 用户调整表单的大小 图片框中的图像也使用相同的值 按比例 调整大小 我在互联网上搜索了一些代码并在中找到了这个答案堆栈溢出 https stackoverflow com a 6501997 3264464 https stac
  • WPF HierarchicalDataTemplate 不会在属性更改时更新 ItemsSource

    这是一些 XAML
  • 维护 app.config 中的字符串列表

    我想在 app config 中维护一个字符串列表 例如
  • 关闭应用程序而没有.net框架的错误提示窗口

    在我的项目中 代码处理未处理的异常 如下所示 static void FnUnhandledExceptionEventHandler object sender UnhandledExceptionEventArgs UnhandledE
  • F10键没被抓住

    I have a Windows Form and there overriden ProcessCmdKey However this works with all of the F Keys except for F10 I am tr

随机推荐

  • flowtype如何用可选字段注释联合

    如何在流程中实现以下目标 export type Response err string data Array data Array 我想表达一种类型 它返回错误和可选数据 或者不返回错误字段 如果没有 但是 我用它作为 return er
  • “npx tsc --version”报告虚拟机内不同的 TypeScript 版本

    我希望能够跑步npx tsc在我的主机 来宾操作系统上的项目中 但客人正在使用不同的 旧的 版本tsc 我不确定它是从哪里来的 我的设置 主机操作系统 Windows 10 来宾操作系统 Debian 9 我正在使用 VirtualBox
  • 使用 IDisposable 取消订阅事件

    我有一个处理来自 WinForms 控件的事件的类 根据用户正在执行的操作 我引用该类的一个实例并创建一个新实例来处理同一事件 我需要首先从事件中取消订阅旧实例 很简单 如果可能的话 我想以非专有的方式执行此操作 这似乎是 IDisposa
  • JQuery 自动完成:如何强制从列表中选择(键盘)

    我正在使用 JQuery UI 自动完成 一切都按预期进行 但是当我使用键盘上的向上 向下键循环时 我注意到文本框按预期填充了列表中的项目 但是当我到达列表末尾并再次按下向下箭头时这时 我输入的原始术语就会出现 这基本上允许用户提交该条目
  • git p4克隆/同步:如何添加新的P4路径

    我创建了一个 P4 客户端视图规范 并用它制作了一个 git p4 克隆 并定期同步 P4 的更改 效果非常好 有一天 我想向我克隆的 Git 存储库添加另一个 P4 路径 但它卡住了 即使我添加了 git p4 克隆使用的客户端视图规范的
  • mysql 自动终止查询

    mysql 是否有可能自动终止耗时超过 20 秒的查询 我猜您正在寻找名为 mk kill 的 maatkit 实用程序 它将杀死符合某些条件的查询
  • Tf.Print() 不打印张量的形状?

    我使用 Tensorflow 编写了一个简单的分类程序并获取输出 但我尝试打印模型参数 特征和偏差的张量形状 函数定义 import tensorflow as tf numpy as np from tensorflow examples
  • 我的解决方案中有两个 Web 项目,要部署哪一个

    我有一个像这样结构的解决方案 Proj Soln Proj Api csproj Proj Web csproj 我已使用 bitbucket org 配置了 microsoft azure 当我通过 git 提交到 bitbucket 时
  • Linux Mint 19.2 上的 Docker 安装不起作用 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 刚刚安装了一个新的 Linux mint 19 2 我需要 docker 所以我去了 docker 文档并遵循了该过程 https doc
  • 将值传递给捆绑的 React JS 文件?

    我想知道是否可以将参数传递给反应入口点 我的入口点如下所示 module exports entry js components Application js output path dist filename bundle js 我的应用
  • 如何在turbo c++ 16位编译器中创建项目

    我想创建一个项目文件 Turbo C 并链接该项目中的文件 虽然我已经尝试过 但我发现只有一个选项可以打开项目 没有选项可以创建新项目 那么如何做到这一点 基本上 你想做的是 开放项目 在那里 您输入项目名称 它必须以 PRJ 当你open
  • Angular2 中的事件委托

    我正在 ng2 中开发一个应用程序 但我正在努力解决一些问题 我正在构建一个日历 您可以在其中选择日期范围 我需要对此做出反应click mouseenter mouseleave日细胞上的事件 所以我有一个像这样的代码 简化的 日历 组件
  • 如何更改 SonataAdmin 中的“奏鸣曲项目”链接?

    我的 SonataAdminBundle 有问题 我找不到如何更改左侧板上的 奏鸣曲项目 链接 我有 我的标题 一张图片 下面有 奏鸣曲项目 我怎样才能改变这个 In order to customize the content of th
  • crypto.pbkdf2 导出 IV 和密钥到 crypto.createCipheriv 的正确设置是什么?

    在 Node js 的应用程序中 我使用加密模块 https nodejs org api crypto html用于对称加密 解密 我正在使用 AES 256 CTR 我最初假设加密 createCipher https nodejs o
  • 应用程序 onCreate 在 Activity onCreate 之后调用(未调用)

    在崩溃日志中 我发现了非常奇怪的应用程序错误 该错误发生在 Android 7 0 8 0 上 对于一些少量用户来说 但非常频繁 我无法重现该问题 这里的代码反映了当前应用程序的状态 我有一个对我的应用程序类的静态引用 public cla
  • 防止delayed_job后台作业在单个服务器上消耗过多的CPU

    我的 Rails 应用程序有许多任务被卸载到后台进程中 例如调整图像大小和上传到 S3 我在用着延迟作业 http github com collectiveidea delayed job tree master来管理这些流程 这些过程
  • Java:观察目录以移动大文件

    我一直在编写一个程序来监视目录 当在其中创建文件时 它会更改名称并将它们移动到新目录 在我的第一个实现中 我使用了 Java 的 Watch Service API 当我测试 1kb 文件时 它运行良好 出现的问题是 实际上创建的文件大小在
  • 如何在新行而不是主行中呈现 CKEditor5 工具栏按钮?

    我从源代码将 CKEditor5 集成到我的 create React 应用程序中 现在 我想在工具栏的新行中渲染溢出的按钮 但它们显示在单独的菜单项中 如何在新行而不是主行中显示按钮 这是我的配置 ClassicEditor defaul
  • 无法在 git 中复制和粘贴 - macos

    有谁知道如何使用 macOS 复制并粘贴 git 吗 我无法在左下窗格中选择 突出显示和复制其中的文本 更改 Thanks 我可以通过按以下命令从 gitk 复制 fn C
  • 如何从 TreeNode.FullPath 数据获取实际的树节点?

    我想存储 TreeNode FullPath 中的一些数据 然后我想重新扩展到目前为止的所有内容 有简单的方法吗 多谢 您可以将其编写为扩展方法TreeNodeCollection using System using System Lin