C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)

树视图(TreeView)控件可以为用户显示节点层次结构,就像在Windows资源管理器功能在左窗格中显示文件和文件夹一样。树视图中的各个节点可能包含其它节点,称为“子节点”。用户可以按展开或折叠的方式显示父节点或包含子节点的节点。

添加和删除树节点

TreeView控件以层次结构的方式显示节点,Nodes属性包含树视图中的顶级节点列表,它是TreeNode对象集合。

1、添加节点

添加节点时,首先需要创建TreeNode类的对象,然后通过Nodes的Add方法将创建的TreeNode对象添加为TreeView节点。

Add方法的语法格式如下:

public virtual int Add(TreeNode node)

参数node表示要添加到集合中的TreeNode。

编写程序,为TreeView控件添加两个父节点,分别用于表示初中和高中。然后再添加三个子节点,用于表示年级。

在Form1窗体中,添加TreeView控件;

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第1张图片

 

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第2张图片

在Form1_Load事件中使用Add方法,为控件建立两个父节点,tn1表示初中,tn2表示 高中;然后再分别创建三个子节点,用于表示年级。

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第3张图片

 

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第4张图片

完整代码: 

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 WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //为控件建立两个父节点,tn1表示初中,tn2表示高中
            TreeNode tn1 = treeView1.Nodes.Add("初中");
            TreeNode tn2 = treeView1.Nodes.Add("高中");
            //为控件建立三个子节点
            TreeNode CZ1 = new TreeNode("初一");
            TreeNode CZ2 = new TreeNode("初二");
            TreeNode CZ3 = new TreeNode("初三");
            //将以上的三个节点添加到第一个父节点中
            tn1.Nodes.Add(CZ1);
            tn1.Nodes.Add(CZ2);
            tn1.Nodes.Add(CZ3);
            //再为控件建立三个子节点
            TreeNode GZ1 = new TreeNode("高一");
            TreeNode GZ2 = new TreeNode("高二");
            TreeNode GZ3 = new TreeNode("高三");
            //将以上的三个节点添加到第二个父节点中
            tn2.Nodes.Add(GZ1);
            tn2.Nodes.Add(GZ2);
            tn2.Nodes.Add(GZ3);
        }
    }
}

 运行结果:

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第5张图片

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第6张图片

 

2、删除节点

删除节点时,可用Nodes属性的Remove方法,语法格式如下:

public void Remove(TreeNode node)

参数node表示要移除的TreeNode。 

编写程序,将“高中”节点删除。

在上面的程序不变情况下,添加Button控件

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第7张图片

 

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第8张图片

button控件发生Click事件: 

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第9张图片

 C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第10张图片

完整代码:

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 WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //为控件建立两个父节点,tn1表示初中,tn2表示高中
            TreeNode tn1 = treeView1.Nodes.Add("初中");
            TreeNode tn2 = treeView1.Nodes.Add("高中");
            //为控件建立三个子节点
            TreeNode CZ1 = new TreeNode("初一");
            TreeNode CZ2 = new TreeNode("初二");
            TreeNode CZ3 = new TreeNode("初三");
            //将以上的三个节点添加到第一个父节点中
            tn1.Nodes.Add(CZ1);
            tn1.Nodes.Add(CZ2);
            tn1.Nodes.Add(CZ3);
            //再为控件建立三个子节点
            TreeNode GZ1 = new TreeNode("高一");
            TreeNode GZ2 = new TreeNode("高二");
            TreeNode GZ3 = new TreeNode("高三");
            //将以上的三个节点添加到第二个父节点中
            tn2.Nodes.Add(GZ1);
            tn2.Nodes.Add(GZ2);
            tn2.Nodes.Add(GZ3);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            TreeNode tn = treeView1.SelectedNode;
            if(tn.Text=="高中")
            {
                DialogResult mydr = MessageBox.Show("该节点包含子节点,确定删除吗?\n确定请按是,取消请按否", "删除提示", MessageBoxButtons.YesNo);
                if(mydr==DialogResult.Yes)
                {
                    tn.Remove();
                }
            }
            else
            {
                treeView1.Nodes.Remove(treeView1.SelectedNode);
            }
        }
    }
}

运行结果如下:

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第11张图片

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第12张图片 

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第13张图片

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第14张图片 

为树控件中的节点设置图标

TreeView控件与ImageList控件结合使用,可在每个节点旁边显示图标。

具体步骤如下:

1、直接单击控件上方的小箭头,然后再单击“编辑节点”,就会弹出“TreeNode编辑器”对话框。

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第15张图片

 

C#应用程序界面开发进阶——高级窗体控件(3)——树视图控件(为树控件中的节点设置图标,没看懂)_第16张图片

 

2、选中ImageList控件的Images属性,并单击...按钮,就会弹出一个“图像集合编辑器”对话框,最后通过该对话框为节点设置图标。最后需要将TreeView控件的ImageList属性设置为imageList1,图标才会在节点中显示出来。

搞不清楚。

你可能感兴趣的:(C#,c#,开发语言)