因项目需求,需要画出树状图,在网上搜了一下,发现这方面的资料是少之又少。没办法,只能自己摸索着做。下面给出一个简单的三层实例实现,权当抛砖引玉,以下是最终效果图:
首先需要说明的是树状图是在pictureBox控件下画的,代码写在其Paint事件下。
第一步,定义一下各个结点的内容以及结点数量等初始信息。这里就简单地直接赋值了,大多数情况下结点的内容应该从数据库中读取,这时只要对该部分的代码作相关修改即可。
string parentTree = "中国";
ArrayList midTree = new ArrayList();
midTree.Add("江苏省");
midTree.Add("山东省");
int midTreeCount = midTree.Count;
ArrayList subTree = new ArrayList();
subTree.Add("南京市");
subTree.Add("扬州市");
subTree.Add("苏州市");
subTree.Add("青岛市");
subTree.Add("日照市");
int subTreeCount = subTree.Count;
ArrayList eachSubTreeCount = new ArrayList();
eachSubTreeCount.Add(3);
eachSubTreeCount.Add(2);