C#——树视图TreeView控件使用

阳光穿透心脏的1/2处 2021-12-05 01:02 1432阅读 0赞

C#——TreeView控件使用

  • 说明
  • TreeView
    • Nodes属性
    • ImageList属性
    • Scrollable属性
    • ShowLines属性
    • ShowPlusMinus属性
    • ShowRootLines属性
    • SelectedNode属性
    • AfterSelect事件
  • 案例
    • 要求
    • 具体实现
      • 核心代码
      • 运行结果
  • 完整代码

说明

本文主要介绍TreeView的使用。

TreeView

树视图(TreeView)控件以树的方式显示集合,可以显示层次关系。

Nodes属性

该属性用于设计TreeView控件的节点。
具体方法
在TreeView的属性栏找到Nodes,点击 ,弹出“TreeNode编辑器”窗口。
“添加根”按钮可以为TreeView控件添加根结点,添加根结点后,“添加子级”按钮变为可用。

ImageList属性

用于设置从中获取图像的ImageList控件,该属性的设置必须与ImageList控件相配合。

Scrollable属性

用于指示当TreeView控件包含多个节点,无法全部可视时确定是否使用滚动条,有true和false两个值。

ShowLines属性

用于指示是否在同级别节点以及父节点与子节点之间显示连线。有true和false两个值。

ShowPlusMinus属性

用于指示是否在父节点旁边显示“+/-”按钮。有true和false两个值。

ShowRootLines属性

用于指示是否在根结点之间显示连线。有true和false两个值。

SelectedNode属性

用于获取或设置TreeView控件中被选中的节点。

AfterSelect事件

TreeView控件最常用的事件为AfterSelect事件,当更改TreeView控件中选定的内容时触发该事件。

案例

要求

使用TreeView控件,建立一个学校的分层视图,实现添加、删除功能。

具体实现

首先建立应用程序用户界面:向设计窗体中加入TreeView控件、TextBox控件、Button控件;从工具箱向窗体拖放一个ImageList控件,添加四张图片;设置TreeView的ImageList属性为ImageList1。

核心代码

添加节点

  1. private void btnAddChild_Click(object sender, EventArgs e)
  2. {
  3. TreeNode selectedNode = this.treeView1.SelectedNode;
  4. if (selectedNode == null)
  5. {
  6. MessageBox.Show("添加子节点之前必须选中一个节点", "提示信息");
  7. return;
  8. }
  9. TreeNode newNode = new TreeNode(this.txtChild.Text, 2, 3);
  10. selectedNode.Nodes.Add(newNode);
  11. selectedNode.Expand();
  12. this.treeView1.Select();
  13. }

删除节点

  1. private void btnDelete_Click(object sender, EventArgs e)
  2. {
  3. TreeNode selectedNode = this.treeView1.SelectedNode;
  4. if (selectedNode == null)
  5. {
  6. MessageBox.Show("删除节点之前必须选中一个节点", "提示信息");
  7. return;
  8. }
  9. TreeNode parentNode = selectedNode.Parent;
  10. if (parentNode == null)
  11. this.treeView1.Nodes.Remove(selectedNode);
  12. else
  13. parentNode.Nodes.Remove(selectedNode);
  14. this.treeView1.Select();
  15. }

运行结果

添加节点
在这里插入图片描述
提示弹窗
在这里插入图片描述

完整代码

下载地址:

发表评论

表情:
评论列表 (有 0 条评论,1432人围观)

还没有评论,来说两句吧...

相关阅读