Visual Studio C# WinForm开发入门(6):TreeView 控件使用

这篇具有很好参考价值的文章主要介绍了Visual Studio C# WinForm开发入门(6):TreeView 控件使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

TreeView控件用树显示节点层次。
例如:顶级目录是根(C:),C盘下的每个子目录都是子节点,而每个子目录又都有自己的子节点
TreeView属性和方法:

属性 说明
CheckBoxes 表示节点旁边是否出现复选框
ImageList 指定一个包含节点图标的ImageList对象。ImageList对象是一个包含Image对象的集合
Nodes 将控件中的TreeNode集合作为TreeNodeCollection返回
SelectedNode 被选中的节点

常用事件:
AfterSelect:当所选节点发生变化时产生

TreeNode属性和方法:

TreeNode属性 说明
Checked 表示是否选中了TreeNode
FirstNode 指定Nodes集合众的第一个节点
FullPath 节点从数根开始的路径
ImageIndex 当去选一个节点时,指定TreeView的ImageList中要显示的图像的索引
LastNode 指定Nodes集合中的最后一个节点
NextNode 下一个同胞节点
Nodes 包含在当前节点中的TreeNode集合
PrevNode 前一个同胞节点
SelectedImageIndex 当选择一个节点时,指定TreeView的ImageList中要显示的图像的索引
Text 指定TreeNode的文本
TreeNode方法 说明
Collapse 加载时缩合节点
Expand 展开节点
ExpandAll 展开节点的所有子节点
GetNodeCount 返回子节点个数

实例
输入一个本机文件目录,用TreeView显示该目录的所有文件夹

1、添加一个Label控件,Text属性改为:“文件路径:”。
2、添加一个TextBox控件,适当拉长,Name属性改为inputTextBox
3、添加一个Button控件,Text属性改为:“确定”,Name属性改为enterButton
4、添加一个TreeView控件,适当调整大小,完成后如下图:
Visual Studio C# WinForm开发入门(6):TreeView 控件使用

5、双击Button控件,编写Click事件,总体程序如下:

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;

using System.IO;//添加

namespace TreeView 控件
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void enterButton_Click(object sender, EventArgs e)
        {
            directoryTreeView.Nodes.Clear();// 每次确定时需要刷新内容
            string inputText = inputTextBox.Text; // 获得输入框的内容
            // 文件路径存在
            if (Directory.Exists(inputText))
            {
                TreeNode rootNode = new TreeNode(inputText); // 创建树节点
                directoryTreeView.Nodes.Add(rootNode); // 加入视图
                FindDirectory(inputText, rootNode);  //通过递归函数进行目录的遍历
            }
            // 文件路径不存在
            else
            {
                MessageBox.Show("输入目录不存在!!!");
                inputTextBox.Clear(); // 当文件目录不存在时清空控件内容
                directoryTreeView.Nodes.Clear();
            }
        }

        // 递归函数 遍历当前目录
        void FindDirectory(string nowDirectory, TreeNode parentNode)
        {
            try  // 当文件目录不可访问时,需要捕获异常
            {
                // 获取当前目录下的所有文件夹数组
                string[] directoryArray = Directory.GetDirectories(nowDirectory);
                if (directoryArray.Length > 0)
                {
                    foreach (string item in directoryArray)
                    {
                        // 遍历数组,将节点添加到父亲节点的
                        string str = Path.GetFileNameWithoutExtension(item);
                        TreeNode node = new TreeNode(str);
                        parentNode.Nodes.Add(node);
                        FindDirectory(item, node);
                    }
                }
            }
            catch (Exception)
            {
                parentNode.Nodes.Add("禁止访问");
            }
        }
    }
}

6、运行程序,输入任意已存在的文件夹路径,点击确定:
Visual Studio C# WinForm开发入门(6):TreeView 控件使用文章来源地址https://www.toymoban.com/news/detail-430676.html

到了这里,关于Visual Studio C# WinForm开发入门(6):TreeView 控件使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 界面控件DevExpress WinForm——轻松构建类Visual Studio UI(二)

    DevExpress WinForm拥有180+组件和UI库,能为 Windows Forms 平台创建具有影响力的业务解决方案。 DevExpress WinForm 能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任! 本文专门介绍流行的应用程序界面如何构建—

    2024年02月09日
    浏览(40)
  • 【C#】【winform】Microsoft Visual Studio Installer Project 打包应用程序全部过程

    提示:只针对扩展包来完成打包的工作过程。 在做完C#和winform的开发,完成之后,需要做一些打包的工具,在这个过程中遇到一些问题,所以记录下我的操作过程和遇到的异常情况。 支持快速打包的插件扩展 在扩展—搜搜 Microsoft Visual Studio Installer Project,安装,然后等待下

    2024年02月07日
    浏览(57)
  • 使用DevExpress22.X(Patch)控件库在VisualStudio2022使用C#进行Winform、WPF应用的开发,看这一篇就够了!

            写在开头,Dev Express是个十分强大的控件库(下文简称Dev),但碍于其高昂的使用费用,“出于学习目的”,我们一般使用的都是Patch版本(在版权意识日趋加强的当下,不要提那两个字,现在加上那些字,百度都搜不出内容)。         最重要的 Patch资源 (包括

    2024年02月09日
    浏览(84)
  • c# 从零到精通 form界面之treeView控件

    c# 从零到精通 form界面之treeView控件 using System; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Test09 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { TreeNode tn1 = treeView1.Nodes.Add(“名称”); TreeNode t

    2024年02月09日
    浏览(53)
  • 新手入门WPF之TreeView控件(一)

    刚接触C#没多久,学着用C#中的WPF做 一些界面,所以本篇文章适合初学者看,这次我主要介绍的是在项目中经常用到的一个WPF控件——TreeView。 TreeView也就是目录树,先给出一个最简单的展示效果及代码 这是刚创建的一个名为BeginTreeView的解决项目(使用的VS2022)  把它改为下

    2024年02月04日
    浏览(39)
  • 快速入门:【c# 之 Winform开发】

    在 winform 中,很多属性和方法的单词首字母都是要大写的,例如: Main() 方法。 在 WinForms 中,事件函数通常具有两个参数: object sender 和 EventArgs e 。 object sender :这个参数表示引发事件的对象。当事件被触发时,它指向引发事件的控件或对象。通过sender参数,你可以获得对触发

    2024年02月03日
    浏览(54)
  • 【C# 基础精讲】C# 开发环境搭建(Visual Studio等)

    安装C#开发环境是开始学习和使用C#编程的第一步。目前,最常用的C#开发环境是Microsoft Visual Studio,它是一套强大的集成开发环境(IDE),提供了丰富的工具和功能,使开发C#应用程序变得更加便捷。以下是安装Visual Studio的简单步骤: 步骤1:下载Visual Studio 访问Microsoft官方网

    2024年02月14日
    浏览(40)
  • C#winform软件实现一次编译,跨平台windows和linux兼容运行,兼容Visual Studio原生界面Form表单开发

    微软的.net core开发工具,目前来看,winform界面软件还没有打算要支持linux系统下运行的意思,要想让c#桌面软件在linux系统上运行,开发起来还比较麻烦。微软只让c#的控制台软件支持在linux运行。 我想到的一个方案是自定义封装软件的System.Windows.Forms组件,把支持windows和lin

    2024年02月08日
    浏览(64)
  • Visual Studio 2019 C# 上位机入门(2):写一个简单的串口助手

    本文记录一下用Visual Studio 2019 C# 写一个简单的串口助手的过程,由于没有先从小处学习,而是直接找相关资料就开始做,免不了很多奇怪的问题花了一些时间,基于此情况,我将尽可能整理出更多细节,尤其是我遇到的坑,以便和我一样的新手小白上手。后续我还准备单独分

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包