C# TreeView控件使用代码

 更新时间:2009年09月24日 11:54:42   作者:  
TreeView控件的实例代码,需要的朋友可以参考下。
当前选中项:TreeView.SelectedNode
增加顶级节点:TreeView.Nodes.Add("Key", "Text")
增加同级节点:TreeView.SelectedNode.Parent.Nodes.Add("Key", "Text")
增加子节点:TreeView.SelectedNode.Nodes.Add("Key", "Text")
全部展开:TreeView.ExpandAll()
全部收拢:TreeView.CollapseAll()
重新设置TreeView
数据库表结构为: ID 类型名称 父级ID
复制代码 代码如下:

private void loadTreeView()
{
this.货品类别TableAdapter1.Fill(superCargoDataSet1.货品类别);
DataTable table = superCargoDataSet1.货品类别;
DataRow[] row = table.Select("父级ID=0");
foreach (DataRow r in row)
{
TreeNode node = 货品类别TreeView.Nodes.Add(r["ID"].ToString(), r["类型名称"].ToString());
recursionShow(node, r["ID"].ToString());
}
}
private void recursionShow(TreeNode nodes, string id)
{
DataTable table = superCargoDataSet1.货品类别;
DataRow[] row = table.Select("父级ID=" + id);
if (row != null)
{
foreach (DataRow r in row)
{
TreeNode node = nodes.Nodes.Add(r["ID"].ToString(), r["类型名称"].ToString());
recursionShow(node, r["ID"].ToString());
}
}
}

删除选中节点和其子结点,同时删除数据库中相应记录
数据库表结构为: ID 类型名称 父级ID
复制代码 代码如下:

private void 删除ToolStripButton_Click(object sender, EventArgs e)
{
if (货品类别TreeView.SelectedNode != null)
{
DataRow[] rowChildren = superCargoDataSet1.货品类别.Select("ID=" + 货品类别TreeView.SelectedNode.Name.ToString());
if (rowChildren != null)
{
foreach (DataRow row in rowChildren)
{
delete节点(row["ID"].ToString());
row.Delete();
}
}
货品类别TreeView.SelectedNode.Remove();
}
}
private void delete节点(string id)
{
DataRow[] rowChildren = superCargoDataSet1.货品类别.Select("父级ID=" + id);
if (rowChildren != null)
{
foreach (DataRow row in rowChildren)
{
delete节点(row["ID"].ToString());
row.Delete();
}
}
}

TreeView右键选中
复制代码 代码如下:

private void treeView左侧_MouseDown( object sender , MouseEventArgs e )
{
if( e.Button == MouseButtons.Right )
{
TreeNode node = treeView左侧.GetNodeAt (e.X , e.Y);
if( node != null )//右键未选中节点,不改变当前选中的节点。VS2005如此。
{
this.treeView左侧.SelectedNode = node;
}
}
}

相关文章

  • C#利用ASP.NET Core开发学生管理系统详解

    C#利用ASP.NET Core开发学生管理系统详解

    随着技术的进步,跨平台开发已经成为了标配,在此大背景下,ASP.NET Core也应运而生。本文主要利用ASP.NET Core开发一个学生管理系统,感兴趣的可以学习一下
    2022-01-01
  • C#完成word文档打印的方法

    C#完成word文档打印的方法

    在日常工作中,我们可能常常需要打印各种文件资料,比如word文档。对于编程员,应用程序中文档的打印是一项非常重要的功能,也一直是一个非常复杂的工。这篇文章主要介绍了C#完成word文档打印的方法,需要的朋友可以参考下
    2016-10-10
  • C#设计模式之建造者模式生成器模式示例详解

    C#设计模式之建造者模式生成器模式示例详解

    这篇文章主要为大家介绍了C#设计模式之建造者模式生成器模式示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • C#温故而知新系列教程之闭包

    C#温故而知新系列教程之闭包

    闭包是将一些执行语句的封装,可以将封装的结果像对象一样传递,在传递时,这个封装依然能够访问到原上下文。下面这篇文章主要给大家介绍了关于C#中闭包的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-05-05
  • C#实现十五子游戏

    C#实现十五子游戏

    这篇文章主要为大家详细介绍了C#实现十五子游戏的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • C#递归算法之归并排序

    C#递归算法之归并排序

    这篇文章主要介绍了C#递归算法中的归并排序,需要的朋友可以参考下。
    2016-06-06
  • 如何在C#中使用JIEBA.NET实现中文分词

    如何在C#中使用JIEBA.NET实现中文分词

    JIEBA 是一款优秀的中文分词工具,为了方便 .NET 开发者使用,JIEBA.NET 作为一个封装了 JIEBA 的 C# 库,提供了类似的分词功能,下面我们来看看它的具体操作吧
    2025-03-03
  • 使用C#实现隐藏Excel单个和多个工作表的示例详解

    使用C#实现隐藏Excel单个和多个工作表的示例详解

    许多 Excel 文件中往往包含用于计算、中间处理或内部引用的数据工作表,这些内容并不需要对最终用户展示,下面我们就来看看如何使用C#实现隐藏Excel单个和多个工作表吧
    2025-12-12
  • C#常见Winform窗体效果详解

    C#常见Winform窗体效果详解

    这篇文章主要为大家详细介绍了C#中常见Winform窗体效果实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-04-04
  • C#编程和Visual Studio使用技巧(下)

    C#编程和Visual Studio使用技巧(下)

    本文将介绍10个C#编程和Visual Studio IDE使用技巧,这也是近期我们发布的系列文章的下篇。
    2015-10-10

最新评论