当前位置:编程学习 > C#/ASP.NET >>

求帶有新增/刪除的TreeView控件(C#)源易做图

1.TreeView控件中帶有新增/刪除節點功能;
2.最好有C#源代易做图.
大俠們,快幫幫忙,急急,分不夠還可以加!提前謝了! --------------------编程问答-------------------- 增加选中节点的子节点。
treeView2.SelectedNode.Nodes.Add(...);
删除选中节点
treeView2.SelectedNode.Remove(); --------------------编程问答-------------------- 是當用戶鼠標右擊TreeView控件時彈出新增或刪除的功能菜單,
也就是說控件中已經繼承了該新增或刪除的功能. --------------------编程问答-------------------- 你若想动态显示、即时刷新那可以参照
using System.Windows.Forms;
using System.IO;
        public MainForm()
        {
            InitializeComponent();
            PopulateTreeView();
        }

        private void PopulateTreeView()
        {
            TreeNode rootNode;
            DirectoryInfo info = new DirectoryInfo(@"C:\Documents and Settings");
            if (info.Exists)
            {
                rootNode = new TreeNode(info.Name);
                rootNode.Tag = info;
                GetDirectories(info.GetDirectories(), rootNode);
                treeView1.Nodes.Add(rootNode);
            }
        }
        private void GetDirectories(DirectoryInfo[] subDirs,
        TreeNode nodeToAddTo)
        {
            TreeNode aNode;
            DirectoryInfo[] subSubDirs;
            foreach (DirectoryInfo subDir in subDirs)
            {
                aNode = new TreeNode(subDir.Name, 0, 0);
                aNode.Tag = subDir;
                aNode.ImageKey = "folder";
                subSubDirs = subDir.GetDirectories();
                if (subSubDirs.Length != 0)
                {
                    GetDirectories(subSubDirs, aNode);
                }
                nodeToAddTo.Nodes.Add(aNode);
            }
        }

        void treeView1_NodeMouseClick(object sender,
TreeNodeMouseClickEventArgs e)
        {
            TreeNode newSelected = e.Node;
            listView1.Items.Clear();
            DirectoryInfo nodeDirInfo = (DirectoryInfo)newSelected.Tag;
            ListViewItem.ListViewSubItem[] subItems;
            ListViewItem item = null;
            foreach (DirectoryInfo dir in nodeDirInfo.GetDirectories())
            {
                item = new ListViewItem(dir.Name, 0);
                subItems = new ListViewItem.ListViewSubItem[]
{new ListViewItem.ListViewSubItem(item, "Directory"),
new ListViewItem.ListViewSubItem(item,
dir.LastAccessTime.ToShortDateString())};
                item.SubItems.AddRange(subItems);
                listView1.Items.Add(item);
            }
            foreach (FileInfo file in nodeDirInfo.GetFiles())
            {
                item = new ListViewItem(file.Name, 1);
                subItems = new ListViewItem.ListViewSubItem[]
{ new ListViewItem.ListViewSubItem(item, "File"),
new ListViewItem.ListViewSubItem(item,
file.LastAccessTime.ToShortDateString())};
                item.SubItems.AddRange(subItems);
                listView1.Items.Add(item);
            }
            listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
        }

而如果是说能通过附操作,那是控件属性
代码操作是
增加选中节点的子节点。
treeView2.SelectedNode.Nodes.Add(...);
删除选中节点
treeView2.SelectedNode.Remove();
你可以看看属性的设置-ContextMenuStrip,作为鼠标操作节点提示还有个属性-HotTracking,祝你好运,我C#用的少。。。 --------------------编程问答-------------------- 楼上很全了,不多讲了。路过。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,