Winform- TreeView的使用例子
自动递归生成树,点击树节点的事件在treeView1_AfterSelect里编写,不多说了,直接上代码,备注在这里一下
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} public DataSet ds = null; private void button1_Click(object sender, EventArgs e)
{
tv_bind();
} public void tv_bind()
{ //从数据库中读取分类信息至DataSet
//绑定前先清空数据集
treeView1.Nodes.Clear(); ds = DbHelperSQL.Query("select * from sys_rtxmenus");
//如果数据库中有信息那么构造树,否则提示无接点
if (ds.Tables[].Rows.Count > )
{
//清除树节点,从根添加树
treeView1.Nodes.Clear();
Add_tree(, (TreeNode)null);
}
else
{
treeView1.Nodes.Clear();
TreeNode node = new TreeNode();
node.Text = "暂无任何分类信息";
treeView1.Nodes.Add(node);
} } //递归树
private void Add_tree(int pid, TreeNode pnode)
{
DataRow[] dr = ds.Tables[].Select("pid=" + pid);
foreach (DataRow row in dr)
{
TreeNode node = new TreeNode();
if (pnode == null)
{
node.Text = row["menuname"].ToString();
node.Tag = row["id"].ToString();
node.ToolTipText = row["menuurl"].ToString();
treeView1.Nodes.Add(node);
Add_tree(int.Parse(row["id"].ToString()), node);
}
else
{
node.Text = row["menuname"].ToString();
node.Tag = row["id"].ToString();
node.ToolTipText = row["menuurl"].ToString();
pnode.Nodes.Add(node);
Add_tree(int.Parse(row["id"].ToString()), node);
}
}
} //按扭的点击事件
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
// 设置显示图标的变换
if (null == e.Node.FirstNode)
{
e.Node.ImageIndex = ;
e.Node.SelectedImageIndex = ;
}
// 打开新的窗口,每一级对应一类窗口
if (e.Node != null && null == e.Node.FirstNode)
{
string tag = e.Node.Tag.ToString();
string name = e.Node.Text.ToString(); switch (name)
{
case "公告类型":
MessageBox.Show("打开公告类型");
break;
case "公告列表":
MessageBox.Show("打开公告列表");
break; }
}
} }
Winform- TreeView的使用例子的更多相关文章
- 关于WinForm TreeView的分享~
最近在写个测试demo的时候使用到WinForm TreeView,已经好久没接触了,有些生疏,所以还是记录一下遇到的一些问题. 1.如果动态绑定TreeView,这个功能一般会在数据量不确定,需要去 ...
- C# Winform TreeView 的一些基本用法
下面是treeview的用法TreeView组件是由多个类来定义的,TreeView组件是由命名空间"System.Windows .Forms"中的"TreeView& ...
- winform treeView 数据绑定
转载:http://www.jetwu.cn/archives/737 winform treeView 数据绑定 private void Form1_Load(object sender, Eve ...
- C# winform多线程的小例子
在文本框中输入一个数字,点击开始累加按钮,程序计算从1开始累计到该数字的结果.因为该累加过程比较耗时,如果直接在UI线程中进行,那么当前窗口将出现假死.为了有更好的用户体验,程序启动一个新的线程来单独 ...
- Winform TreeView 查找下一个节点
转载:http://www.cnblogs.com/Ruiky/archive/2013/02/01/2888674.html public static class TreeViewHelper { ...
- Winform TreeView控件技巧
在开发的时候经常使用treeview控件来显示组织结构啊,目录结构啊,通常会结合属性checkedboxs,来做选中,取消的操作下面是一个选中,取消的小例子,选中节点的时候,如果节点存在子节点,可以选 ...
- winform Treeview控件使用
做角色菜单权限时用到treeview控件做树状显示菜单,简单总结了一下用法: 1.在winform窗体中拖入treeview控件,注意修改属性CheckBoxes属性为true,即在节点旁显示复选框 ...
- winform TreeView的一些用法以及异步加载
今天,主要弄了一下对于树型控件的一些方法,以及异步加载.参考: http://www.cnblogs.com/greatverve/archive/2012/03/23/winform-treevie ...
- C# winform TreeView中关于checkbox选择的完美类
public static class TreeViewCheck { /// <summary> /// 系列节点 Checked 属性控制 /// </summary> / ...
- c# winform TreeView NODE(节点) 重命名或获取节点修改后的值
在程序开发过程中我们经常用到treeview,还经常要修改节点的名字.节点名字修改后还想及时更新数据库.这时问题就来了,怎样获取NODE(节点)更新后的值呢?本人试了很多方法最终分析出treeview ...
随机推荐
- R语言学习笔记:查看函数的R源代码
getAnywhere 该函数可以返回一些函数的R源代码,如: getAnywhere(kmeans) 该函数具体用法,请参看官方说明. Retrieve an R Object, Including ...
- 敏捷开发系列之旅 第二站(走近XP极限编程)
http://blog.csdn.net/happylee6688/article/details/21551065 上篇文章,我们探讨了什么是敏捷开发,以及敏捷开发的方法学.在这篇文章中,我们将继续 ...
- ActiveMQ之 TCP通讯机制
ActiveMQ支持多种通讯协议TCP/UDP等,我们选取最常用的TCP来分析ActiveMQ的通讯机制.首先我们来明确一个概念: 客户(Client):消息的生产者.消费者对ActiveMQ来说都 ...
- C#创建XML文件并保存
随着XML的普及以及在动态WEB应用程序中大量应用,如何通过.NET创建,删除,修改XML文件变的也来也重要了.一个简单的概念是,XML文件跟大的文本文件并没有什么区别,同时它是先于.NET出现,很多 ...
- java中synchronized的用法详解
记下来,很重要. Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并发线程访问同一个对象object中的这个synchron ...
- bzoj3170
以前写的,好像忘写解题报告 注意是一个跟曼哈顿距离很有用的结论 |xi-xj|+|yi-yj|=max(|xi+yi-(xj+yj)|,|xi-yi+(xj-yj)|) 因为绝对值有个性质是|a-b| ...
- varchar与nvarchar的区别
nvarchar可变长度的Unicode字符数据 varchar可变长度且非 Unicode 的字符数据 举例: varchar(1) --可以插进入一个数字或者一个字母,如果要插入一个汉字改为v ...
- Spring 教程(二)
一.Spring AOP介绍 开发其实就是在不断的重构,抽象重复代码,然后进行封装.从最原始的模块化编程到面向对象编程,代码的封装越来越整齐清晰,但是依然存在重复的代码,而这些重复代码几乎都是与业务逻 ...
- Asp.Net 高性能框架 SqlSugar.ORM 2.3
一.前言 SqlSugar从去年到现在已经一年了,版本从1.0升到了现在的2.3 ,这是一个稳定版本 ,有数家公司已经项目上线,在这里我将SqlSugar的功能重新整理成一篇新的贴子,希望大家喜欢. ...
- [转] ArcEngine中打开各种数据源(WorkSpace)的连接
原文 ArcEngine中打开各种数据源(WorkSpace)的连接(SDE.personal/File.ShapeFile.CAD数据.影像图.影像数据集) ArcEngine 可以接受多种数据源. ...