TreeView控件在C#应用程序中的应用

摘 要:详细介绍了使用TreeView控件的图书信息系统多级书目节点动态实现方法,在实现与图书信息数据库的连接后,能够实现一个完整的图书信息管理系统.

关 键 词 :C#;TreeView控件;多级书目节点;图书信息系统

中图分类号:TP301 文献标识码:A 文章编号:16727800(2012)011004102

________________________________________

作者简介:邹治军(1976-),男,硕士,南京化工职业技术学院信息技术系讲师,研究方向为智能检测与智能控制.0 引言

在.NET应用程序中,TreeView控件用来显示节点(TreeNode)对象的级层结构,通常用于显示一些有等级结构的信息,例如Windows资源管理器左边显示文件和文件夹的窗口.本文以简易电子图书信息系统开发为背景,详细论述了C#应用程序中,使用TreeView控件的电子图书信息系统的多级书目动态生成方法.

1.应用程序界面设计

运行VS2010,新建C# Windows应用程序项目.

(1)添加程序窗体,进行属性设置.

(2)添加和设置SplitContainer控件.在上一步添加的窗体中拖入一个SplitContainer控件,设置相应属性值.SplitContainer控件是由两个Panel面板和一个Split拆分条组成的复合体,拥有两个面板可以聚合不同区域中的信息(一个面板的选择决定了另一个面板显示的内容).

(3)添加TreeView控件.TreeView控件按树形结构来显示标记项的分层集合,每一个标记项用一个TreeNode来表示.在SplitContainer.Panel1中添加一个TreeView控件,设置其Dock属性为fill.

(4)添加ListView控件.在SplitContainer.Panel2中添加一个ListView控件,设置其Dock属性为fill.当选中某一个节点后,在ListView控件中显示对应的信息.

2.程序代码实现

创建Access2003数据库,编辑保存多级图书目录节点信息,如图1所示.

(1)导入数据库db1.mdb,使用Using 语句引入OleDb的命名空间,代码如下:

图1 书目节点数据库

using System.Data.OleDb;

(2)数据库的连接字符串代码:

String connectionstring等于"Provider等于Microsoft.Jet.OLEDB.4.0;Data Source等于|DataDirectory|db1.mdb";

(3)使用Connection对象与数据源建立连接之后,使用Command对象来对数据源执行查询等各种操作.

private void Form1_Load(object sender, EventArgs e)

{

initTree();

}

private void initTree()

{

string connectionstring等于"Provider等于Microsoft.Jet.OLEDB.4.0;Data Source等于|DataDirectory|db1.mdb";

OleDbConnection con 等于 new OleDbConnection();

con.ConnectionString 等于 connectionstring;

con.Open();

String sql 等于 "select ID,NodeName from TreeView where Node_Parent_ID等于0";

OleDbCommand 等于 new OleDbCommand();

.Connection 等于 con;

.CommandText 等于 sql;

OleDbDataReader sdr 等于 .ExecuteReader();

while (sdr .Read())

{

string nodeText 等于 sdr["Node_Name"].ToString();


TreeNode tn 等于 new TreeNode(nodeText);

tn.Tag 等于 sdr["Node_ID"].ToString();

tn .Nodes .Add (new TreeNode() );

this.treeView1.Nodes.Add(tn);

}

con.Close();

}

(4)TreeView1的AfterSelect事件,在选定树结点后发生的事件,代码如下:

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)

{

initDri(e.Node);

}

private void initDri(TreeNode tn)

{

tn.Nodes.Clear();

string connectionstring 等于 "Provider等于Microsoft.Jet.OLEDB.4.0;Data Source等于|DataDirectory|db1.mdb";

OleDbConnection con 等于 new OleDbConnection();

con.ConnectionString 等于 connectionstring;

con.Open();

String sql 等于 "select Node_ID,Node_Name from TreeView where Node_Parent_ID等于" + tn.Tag;

OleDbCommand 等于 new OleDbCommand();

.Connection 等于 con;

.CommandText 等于 sql;

OleDbDataReader sdr 等于 .ExecuteReader();

while (sdr.Read())

{

string nodeText 等于 sdr["Node_Name"].ToString();

TreeNode tn1 等于 new TreeNode(nodeText);

tn1.Tag 等于 sdr["Node_ID"].ToString();

tn1.Nodes.Add(new TreeNode());

tn.Nodes.Add(tn1);

}

}

图2 程序运行效果

3.结语

本文着重介绍了使用TreeView控件动态生成图书信息系统多级书目的方法,其它功能可在此基础上进一步补充与完善,在最终实现与图书信息数据库的连接后,可以实现一个完整的图书信息管理系统.

类似论文

C语言程序设计在非计算机专业中的教学

20世纪90年代以来,C语言迅速在全世界普及推广 无论在中国还是在世界各国,“C语言程序设计”始终是高等学校的一门基本į。
更新日期:2024-8-18 浏览量:108240 点赞量:24143

《C语言程序设计》教学方法

摘 要:本文指出了C语言的特点;说明了教学C语言针对不同专业采取因材施教的方法;阐明了抓住。
更新日期:2024-2-11 浏览量:31551 点赞量:7957

巧用Excel控件制作动态图表

某家电脑用品店要统计五种产品(显示器、机箱、键盘、鼠标、整机)的每月销售情况并制成图表显示 按照通常的思路,我们要为五种产品分。
更新日期:2024-3-23 浏览量:45167 点赞量:10675

基于C语言程序设计教学

摘 要C语言是工科类的一门计算机基础课,它重在向学生传授程序设计的原理、方法、操作等 通过本课程的学习,使学生能够掌。
更新日期:2024-9-18 浏览量:117779 点赞量:25265

C语言程序设计教学

摘 要:本文根据在C语言程序设计实际教学过程中的心得和学生的体会,对C语言的教学过程、教学资源、教学评价提出。
更新日期:2024-3-15 浏览量:42854 点赞量:9812

《C语言程序设计》教学改革

【摘 要】从C语言在教学体系中的地位及其特点出发,分析了传统教学方法的不足,对该课程的教学。
更新日期:2024-12-8 浏览量:21365 点赞量:5893