C# TreeView控件使用代码

所属分类: 软件编程 / C#教程 阅读数: 123
收藏 0 赞 0 分享
当前选中项: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#实现写系统日志的方法

这篇文章主要介绍了C#实现写系统日志的方法,涉及C#针对系统日志的创建、写入及删除等技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#编程实现自定义热键的方法

这篇文章主要介绍了C#编程实现自定义热键的方法,涉及C#键盘按键设置的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#实现读取被进程占用的文件实现方法

这篇文章主要介绍了C#实现读取被进程占用的文件实现方法,涉及C#进程操作及文件读取的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#获取任务栏显示进程的方法

这篇文章主要介绍了C#获取任务栏显示进程的方法,涉及C#针对进程操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#调用dos窗口获取相关信息的方法

这篇文章主要介绍了C#调用dos窗口获取相关信息的方法,涉及C#调用dos窗口及进程操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#通过Semaphore类控制线程队列的方法

这篇文章主要介绍了C#通过Semaphore类控制线程队列的方法,涉及Semaphore类操作线程队列的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#使用Dispose模式实现手动对资源的释放

这篇文章主要介绍了C#使用Dispose模式实现手动对资源的释放,涉及C#采用Dispose模式操作资源的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#动态创建button的方法

这篇文章主要介绍了C#动态创建button的方法,涉及C#按钮属性动态设置的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#编程获取资源文件中图片的方法

这篇文章主要介绍了C#编程获取资源文件中图片的方法,涉及C#针对项目中资源文件操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

WinForm实现窗体最大化并遮盖任务栏的方法

这篇文章主要介绍了WinForm实现窗体最大化并遮盖任务栏的方法,涉及C#实现WinForm窗体全屏显示的实现及调用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多