c# - 如何在按下按钮时从文本输入中搜索此树视图中的特定节点?
问题描述
我有一个简单的代码,用于创建带有添加、删除和编辑按钮的树结构。我想通过文本框(textBox1)和按钮按下(button4)从添加的节点中搜索特定节点,但我似乎无法让它工作。有什么建议么?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
TreeNode node = new TreeNode(textBox1.Text);
try
{
treeView1.SelectedNode.Nodes.Add(node);
}
catch (Exception)
{
treeView1.Nodes.Add(node);
}
}
private void Button2_Click(object sender, EventArgs e)
{
treeView1.SelectedNode.Text = textBox1.Text;
}
private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
textBox1.Text = treeView1.SelectedNode.Text;
}
private void Button3_Click(object sender, EventArgs e)
{
treeView1.SelectedNode.Remove();
}
private void Button4_Click(object sender, EventArgs e)
{
}
}
}
解决方案
只需像这样使用 linq 查询:
TreeNode[] treeNodes = treeView1.Nodes.Cast<TreeNode>() .Where(r => r.Text == textBox1.Text).ToArray();
推荐阅读
- kotlin - 我不能为受保护的属性编写 getter 和 setter
- django - “return my_view”和“return redirect(my_view)”有什么区别以及如何获得混合结果?
- php - PHP in_array 只找到最后一个数组元素
- postgresql - 如何在gorm中为Association制作请求体属于并拥有一个
- javascript - 通知设备网站已重新上线的最快和最有效的方法是什么?
- javascript - 在 REST API 中删除其中一个客户时,如何自动更新客户 ID?
- apache-flink - KeyedStream的实际用途是什么#max
- firemonkey - Info.plist 中的 UIFileSharingEnabled 键
- python - 使用 Python Multiprocessing 包解析文本文件的问题
- python - 如何使用 instaloader 下载特定数量的照片(不是整个帖子)