在 C# 中查找并替换树节点

2024-01-31

我的 C# 代码中有一个树视图。我想在单击按钮时将整个树视图中出现的所有树节点替换为不同的文本。

例如,我有 3 次出现“文本”为“手动”的节点。我想用文本“自动”替换所有这 3 个节点。问题是这 3 个节点位于树视图中的 3 个不同分支下。它们不共享相同的父节点。我打算通过编写一个 for 循环来使这个过程自动化,但我不明白如何首先找到所需的 3 个节点。


我建议使用递归。

当然,这是一个示例,您需要删除 myTree 声明并使用您的树,但这应该可以帮助您入门。

private void replaceInTreeView()
{
    TreeView myTree = new TreeView();
    ReplaceTextInAllNodes(myTree.Nodes, "REPLACEME", "WITHME");
}

private void ReplaceTextInAllNodes(TreeNodeCollection treeNodes, string textToReplace, string newText)
{
    foreach(TreeNode aNode in treeNodes)
    {
        aNode.Text = aNode.Text.Replace(textToReplace, newText);

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

在 C# 中查找并替换树节点 的相关文章

  • InvalidOperationException - 对象当前正在其他地方使用 - 红十字

    我有一个 C 桌面应用程序 其中我连续创建的一个线程从源 实际上是一台数码相机 获取图像并将其放在 GUI 中的面板 panel Image img 上 这必须是另一个线程 如它是控件的代码隐藏 该应用程序可以工作 但在某些机器上 我会在随
  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • 如何将 protobuf-net 与不可变值类型一起使用?

    假设我有一个像这样的不可变值类型 Serializable DataContract public struct MyValueType ISerializable private readonly int x private readon
  • 如何让 Swagger 插件在自托管服务堆栈中工作

    我已经用 github 上提供的示例重新提出了这个问题 并为任何想要自己运行代码的人提供了一个下拉框下载链接 Swagger 无法在自托管 ServiceStack 服务上工作 https stackoverflow com questio
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • C中的malloc内存分配方案

    我在 C 中尝试使用 malloc 发现 malloc 在分配了一些内存后浪费了一些空间 下面是我用来测试 malloc 的一段代码 include
  • 错误:表达式不产生值

    我尝试将以下 C 代码转换为 VB NET 但在编译代码时出现 表达式不产生值 错误 C Code return Fluently Configure Mappings m gt m FluentMappings AddFromAssemb
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • 为什么 std::strstream 被弃用?

    我最近发现std strstream已被弃用 取而代之的是std stringstream 我已经有一段时间没有使用它了 但它做了我当时需要做的事情 所以很惊讶听到它的弃用 我的问题是为什么做出这个决定 有什么好处std stringstr
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum

随机推荐

  • 更改用户登录名后认证错误

    我们有一位最近更改了姓名的用户 假设旧用户名是 old name 新用户名是 new name 在 AD 中编辑详细信息并使用新用户名注销 登录后 我们的 ASP NET 应用程序显示旧名称 纯 ASP NET 无 MVC 使用 Windo
  • 如何在 obj-C 的 C 函数中向自己发送消息?

    我有一个 C 函数 音频队列服务中的回调函数 我想向自己发送消息 怎么做 如果我输入 self message 则会出现错误 Use of undeclared identifier self 您不会在实时回调中执行 objc 消息 例如音
  • Guzzle HTTP 请求从 POST 转换为 GET

    当我尝试向外部 API 发布帖子时 发生了一件非常奇怪的事情 我尝试向 URL 发出 POST 请求 但 Guzzle 发出 GET 请求 这是对此 API 的合法操作 但返回不同的内容 这是代码 request this gt clien
  • 在 ember 中如何在 Ember.Object.extend 上创建一个可以访问 json 服务的类方法

    很抱歉问这样一个简单的问题 但我正在考虑从 jQuery 迁移到 Ember 并试图在不使用 ember data 的情况下找出调用 响应 json 我的一个问题是人们如何建议使用类方法 举例来说 我有一个像这样的帖子对象 Hex Post
  • ARM ELF 对象内的函数大小不正确

    readelf 目标文件的输出 Symbol table symtab contains 15 entries Num Value Size Type Bind Vis Ndx Name 0 00000000 0 NOTYPE LOCAL
  • 通过CSS改变PNG图像的颜色?

    给定一个显示白色简单形状的透明 PNG 是否有可能通过 CSS 以某种方式改变它的颜色 某种覆盖或什么不是 您可以使用过滤器 webkit filter and filter 过滤器对于浏览器来说相对较新 但根据以下 CanIUse 表 超
  • java.net.URLEncoder.encode(String) 已弃用,我应该使用什么代替?

    我在使用时收到以下警告java net URLEncoder encode warning deprecation encode java lang String in java net URLEncoder has been deprec
  • 有条件地将列设置为 Postgres 中的默认值

    我有一个 PostgreSQL 8 4 表 其中有一个自动递增但可为空的整数列 我想更新一些列值 如果该列为 NULL 则将其设置为其默认值 这将是从序列自动生成的整数 but无论哪种情况我都想返回它的值 所以我想要这样的东西 UPDATE
  • 使用 ruby​​ 将存储为有符号的无符号整数转换回原始值

    C 程序将它认为是 64 位无符号整数放入 Postgres 数据库中类型为 int8 的列中 对于 Postgres int8 始终是 signed int8 没有 unsigned int8 这样的东西 因此 我的 Ruby 程序将从
  • Codeigniter 和 PHPWord

    我正在尝试阅读一些文件 所以我使用PHPWord 这是我在图书馆里得到的
  • Swift 2 为协议添加了协议一致性

    我可以通过 swift 扩展向协议添加协议一致性吗 Plain old protocol here protocol MyData var myDataID Int get 我想做MyData协议默认相等 只需比较ID extension
  • 让 Json.NET + MongoDB Bson 协同工作

    我正在尝试将一些 Json NET json 序列化与 MongoDB 结合起来 我有一个与此类似的结构 public class Master props public Detail Details get set public clas
  • 黄油刀不会注射

    我正在尝试使用牛油刀 http jakewharton github io butterknife 这些天我在 Android Studio 工作 但它因一些奇怪的问题而让我失望 我曾经在 eclipse 上尝试过 Butter Knife
  • 关闭 Java 8 流

    如果我们像这样使用 Java 8 Streamlist stream filter collect 这个流什么时候关闭 作为下一个示例 我们关闭流是一种好的做法吗 Stream
  • 玩!框架 2 Android 客户端的 REST 身份验证和授权

    我目前正在开发一个具有网页版本 Play Framework 2 2 x 和 Android 客户端的应用程序 因为玩 完全 RESTful 我想在 Play 之间进行通信 以及带有 JSON 请求和响应的 Android 该应用程序的 W
  • 如何从当前文件夹外部导入模块?

    我正在尝试从其目录外部导入模块a py 该目录看起来像这样 project folder 1 a py folder 2 init py b py 我的代码在a py中 contents of a py from folder 2 impo
  • angularjs 路线 - 跳转到路线链接上的特定页面部分

    我正在尝试在 Angular 锚点和路由之间进行某种混合 我确实可以在主页中使用它 因为锚点部分在那里 但是 如果我在另一个页面中 它就不会 谁能指出我正确的方向 如何正确地做到这一点 这是我到目前为止所拥有的 freddoApp conf
  • 在电子邮件中嵌入标识符

    我正在尝试将 ID 嵌入到电子邮件中 以便当收件人回复我的系统发出的电子邮件时 我的系统可以拾取它并将两者匹配在一起 我尝试附加自定义标头 但是当用户回复时 该标头会被删除 我尝试在电子邮件中嵌入 HTML 评论 但 Outlook 在创建
  • 在 Java/JavaFX 中向变量添加监听器,该监听器在变量更改时被调用

    我知道JavaFX中有侦听器 并且我确定Java 但我对如何实施它们感到困惑 我有一个布尔变量 它在我的程序中不断变化 每次更改布尔值时 我都希望运行一个函数 myFunc 这很容易做到吗 如果您使用 JavaFX 2 那么它为 JavaB
  • 在 C# 中查找并替换树节点

    我的 C 代码中有一个树视图 我想在单击按钮时将整个树视图中出现的所有树节点替换为不同的文本 例如 我有 3 次出现 文本 为 手动 的节点 我想用文本 自动 替换所有这 3 个节点 问题是这 3 个节点位于树视图中的 3 个不同分支下 它