TreeView控件在C#应用程序中的应用研究
摘要:详细介绍了使用TreeView控件的图书信息系统多级书目节点动态实现方法,在实现与图书信息数据库的连接后,能够实现一个完整的图书信息管理系统。
关键词:C#;TreeView控件;多级书目节点;图书信息系统
在.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 com = new OleDbCommand();
com.Connection = con;
com.CommandText = sql;
OleDbDataReader sdr = com.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());
}
con.Close();
}
(4)TreeView1的AfterSelect事件,在选定树结点后发生的事
listview控件在哪里
件,代码如下:
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 com = new OleDbCommand();
com.Connection = con;
com.CommandText = sql;
OleDbDataReader sdr = com.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控件动态生成图书信息系统多级书目的方法,其它功能可在此基础上进一步补充与完善,在最终实现与图书信息数据库的连接后,可以实现一个完整的图书信息管理系统。
参考文献:
[1] 赵会东,王小科.C#开发之道[M].北京:电子工业出版社,2011.
[2] 齐立波.C#于入门经典[M].北京:清华大学出版社,2010.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。