C#编写街道管理系统
2018-01-27 21:05
246 查看
项目需求: 一、语言和环境 |
A、实现语言 |
C# |
B、环境要求 |
Visual Studio 2012 二、功能要求 现使用.NET WinForms技术为居委会开发一个街道管理软件,其中街道管理窗体界面如图-4所示。
要求: 1、读取提供的XML文件(详见 \提供给学员的素材\Address.xml),将其信息动态添加到TreeView控件中。 2、创建表示地址信息的实体类,并使用泛型集合保存XML文件中的信息。 3、选中某子节点,能够将相关信息显示到右侧的文本框中,如图-4所示。 4、窗体标题为“街道管理”。
|
XML文件:
<?xml version="1.0" encoding="gb2312"?> <root name="石牌街道"> <juwei name="瑞华居委"> <jianzhu smid="6" name="瑞华花园1栋"> <fjname>101室</fjname> <fjname>102室</fjname> </jianzhu> <jianzhu smid="7" name="瑞华花园2栋"> <fjname>101室</fjname> <fjname>102室</fjname> </jianzhu> </juwei> <juwei name="金帝居委"> <jianzhu smid="4" name="金帝花园1栋"> <fjname>101室</fjname> <fjname>102室</fjname> </jianzhu> </juwei> <juwei name="朝阳居委"> <jianzhu smid="5" name="朝阳花园1栋"> <fjname>101室</fjname> <fjname>102室</fjname> </jianzhu> </juwei> </root>
项目类图:
存储街道数据类:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Street_Management_System { public class Street { public Street() { } public Street(string streets, string jwh, string dong, string s) { Streets = streets; Jwh = jwh; Dong = dong; S = s; } //街道 public string Streets { get; set; } //居委会 public string Jwh { get; set; } //楼房(栋) public string Dong { get; set; } //厅室 public string S { get; set; } } }
读取XML类:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace Street_Management_System { public class ReadXML { public ReadXML() { dic = new Dictionary<string, Street>(); } public ReadXML(Dictionary<string, Street> dic) { this.dic = dic; } //存储xml文件的双列集合 public Dictionary<string, Street> dic { get; set; } public Dictionary<string, Street> Read() { XmlDocument doc = new XmlDocument(); /* * 读取xml文件 * */ doc.Load("Address.xml"); //获取xml文件的根节点 XmlNode xml = doc.DocumentElement; /* * 解析xml文件的各个接点并存入集合 * */ foreach (XmlNode item in xml.ChildNodes) { string street = item.ParentNode.Attributes["name"].InnerText; string jwh = item.Attributes["name"].InnerText; string dong = null; string s = null; foreach (XmlNode items in item.ChildNodes) { dong = items.Attributes["name"].InnerText; foreach (XmlNode itemss in items.ChildNodes) { s = itemss.InnerText; Street aaa = new Street(street,jwh,dong,s); dic.Add(dong+"|"+s,aaa); } } } return dic; } } }
主窗体类:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Street_Management_System { public partial class 街道管理系统 : Form { public 街道管理系统() { InitializeComponent(); } public Dictionary<string, Street> dic = new Dictionary<string, Street>(); private void Form1_Load(object sender, EventArgs e) { AddTree(); } /* * 接收ReadXML类中存储xml信息的集合 * */ public void AddTree() { ReadXML xml = new ReadXML(); dic = xml.Read(); string street = null; string jwh = null; string dong = null; TreeNode sTree = null; TreeNode streetTree = null; TreeNode jwhTree = null; TreeNode dongTree = null; /* *拆解集合中的数据并赋值到TreeView控件的相应接点中 * */ foreach (KeyValuePair<string, Street> item in dic) { if (street != item.Value.Streets) { streetTree = new TreeNode(); streetTree.Text = item.Value.Streets; tvStreet.Nodes.Add(streetTree); } if (jwh != item.Value.Jwh) { jwhTree = new TreeNode(); jwhTree.Text = item.Value.Jwh; streetTree.Nodes.Add(jwhTree); } if (dong != item.Value.Dong) { dongTree = new TreeNode(); dongTree.Text = item.Value.Dong; jwhTree.Nodes.Add(dongTree); } sTree = new TreeNode(); sTree.Text = item.Value.S; sTree.Tag = item.Key; dongTree.Nodes.Add(sTree); street = item.Value.Streets; jwh = item.Value.Jwh; dong = item.Value.Dong; } } private void tvStreet_AfterSelect(object sender, TreeViewEventArgs e) { /* * 当点击节点时,读取选中节点的信息赋值到文本框中显示 * */ if (tvStreet.SelectedNode.Level == 0) { textBox1.Text = tvStreet.SelectedNode.Text; } else if (tvStreet.SelectedNode.Level == 1) { textBox2.Text = tvStreet.SelectedNode.Text; } else if (tvStreet.SelectedNode.Level == 2) { textBox3.Text = tvStreet.SelectedNode.Text; } else if (tvStreet.SelectedNode.Level == 3) { textBox4.Text = tvStreet.SelectedNode.Text; } } } }
相关文章推荐
- C#编写简单的系统服务管理器
- C#开发的餐饮管理系统总结
- java编写购物管理系统2----JDBC连接数据库
- C# .NET 可灵活配置登录窗体、主窗体的快速信息管理系统开发架构参考
- Java编程---2、(补充)用数组编写简易的学生管理系统-----定义学生类
- 两款用C语言编写的学生信息成绩管理系统
- 实现记录和查看用户的系统登录和退出历史和利用C#编写的网络聊天程序
- C#窗体应用程序 vs + sql server2008连接举例,简单的学生信息管理系统 补充注册页面,如有侵权,请联系本人删除
- C#编写机房收费系统的登录窗体
- C#桌面办公应用-工资管理系统系列八
- 那一年我们写过的委员会街道管理系统
- 急需一个asp.net(C#)编写的网上论坛系统
- C#简易电影记录管理系统:开发六[数据搜索]
- 答客户疑问 ASP.NET C#.NET 通用权限管理系统组件源码的 B/S C/S 这里有什么区别?
- C# ASP.NET 权限设计 完全支持多数据库多语言包的通用权限管理系统组件源码
- Asp.net MVC4 ExtJS权限管理系统源码 C#开发框架源码
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统?
- C# ASP.NET 走火入魔通用权限管理系统组件V3.2试用版下载地址【含数据库设计文档、使用手册】
- 通过JAVA编写一个简单的雇员管理系统小项目
- 《C语言编写 学生成绩管理系统》