当前位置: 首页 > news >正文

C#TreeView控件应用

1、代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace TestApp
{public partial class MainForm : Form{public MainForm(){InitializeComponent();}private void BtnConfig_Click(object sender, EventArgs e){treeView1.Nodes.Clear();string root = TbRoot.Text;if(Directory.Exists(root) ){TreeNode treeNode = new TreeNode(root);treeView1.Nodes.Add(treeNode);FindDirectory(root, treeNode);}else{MessageBox.Show("输入目录不存在!");TbRoot.Clear();treeView1.Nodes.Clear();}}private void FindDirectory(string root, TreeNode parentNode){try{string[] arr = Directory.GetDirectories(root);if (arr.Length > 0){foreach (string item in arr){string str = Path.GetFileNameWithoutExtension(item);TreeNode node = new TreeNode(str);parentNode.Nodes.Add(node);FindDirectory(item, node);}}}catch (Exception ex){MessageBox.Show(ex.Message);}}TreeNode currentNode = null;private void treeView2_AfterSelect(object sender, TreeViewEventArgs e){currentNode = e.Node;}int i = 0;private void BtnAddNode_Click(object sender, EventArgs e){if (treeView2.Nodes.Count > 0){TreeNode node = new TreeNode($"节点{i++}");currentNode.Parent.Nodes.Add(node);}else{TreeNode node = new TreeNode("首节点");treeView2.Nodes.Add(node);}}private void BtnAddSonNode_Click(object sender, EventArgs e){if (treeView2.Nodes.Count > 0){TreeNode node = new TreeNode($"节点{i++}");currentNode.Nodes.Add(node);}}private void BtnDeleteNode_Click(object sender, EventArgs e){treeView2.Nodes.Remove(currentNode);}}
}

2、运行结果
在这里插入图片描述

http://www.lryc.cn/news/416451.html

相关文章:

  • 计算机网络-数据链路层
  • 农场游戏中的时间管理实例
  • css 数字平铺布局
  • 【开源】嵌入式Linux(IMX6U)应用层综合项目(2)--智能家居APP
  • CUDA常见编译器配置问题一览
  • 【Android】系统级应用升级后的安装位置
  • uniapp 使用renderjs通信
  • PostgreSQL 15
  • 给本地设备搭建一个云端语音助手
  • yolov5车辆类型识别TXT数据集
  • day22(mysql数据库主从搭建)
  • 返璞归真:通过简化用例来简化用户界面01
  • 书生大模型学习笔记2 - Python
  • JavaScript三级联动jQuery写法
  • 无人机挂载抓捕网
  • 174.地下城游戏——LeetCode
  • 登录相关功能的优化【JWT令牌+拦截器+跨域】
  • 向日葵没有显示器会卡住
  • 【机器学习西瓜书学习笔记——聚类】
  • MATLAB(8)深度变化模型
  • mp3格式转换器哪个好用?汇总七款音频格式转换方法(无损转换)
  • 移行前的复盘:CodeCommit 的重要地位分析
  • Java中等题-括号生成(力扣)
  • Flink 实时数仓(八)【DWS 层搭建(二)流量域、用户域、交易域搭建】
  • gitlab-runner /var/run/docker.sock connect permission denied
  • 网络安全 - 应急响应检查表
  • AD常用PCB设计规则介绍 (详细版)
  • mysql主从服务配置
  • Redis基础总结、持久化、主从复制、哨兵模式、内存淘汰策略、缓存
  • Java与Python优劣势对比:具体例子与深入分析