本章目标 ■ 理解Vindows应用程序运行机制 ■了解基本控件的常用属性和支持的常用方法 理解基于事件的编程方法 掌握Windows应用程序组成文件的作用 ■掌握TreeView等高级控件的基本属性和方法的使用 ■掌握模式窗体和非模式窗体的区别和调用方式 ■掌握多文档界面的设计方法
2 本章目标 ▪ 理解Windows应用程序运行机制 ▪ 了解基本控件的常用属性和支持的常用方法 ▪ 理解基于事件的编程方法 ▪ 掌握Windows应用程序组成文件的作用 ▪ 掌握TreeView等高级控件的基本属性和方法的使用 ▪ 掌握模式窗体和非模式窗体的区别和调用方式 ▪ 掌握多文档界面的设计方法
TreeView 树视图控件 ■用于显示层次结构的信息 ■每个节点都是一个TreeNode对象 ■TreeView.对象 ■构造方法 TreeNode subNode=new TreeNode(); TreeNode subNode=new TreeNode(string text); TreeNode(string text,int imagelndex,int selectedlmagelndex; 添加节 取消选定树节点时的图片索引 选定树节点时的图片索引 treeView1.Nodes.Add(subNode)/添加指定的节点
4 TreeView ▪ 树视图控件 ◼ 用于显示层次结构的信息 ◼ 每个节点都是一个TreeNode对象 ▪ TreeView对象 ◼ 构造方法 ◼ 添加节点 TreeNode subNode = new TreeNode(); treeView1.Nodes.Add(subNode)//添加指定的节点 取消选定树节点时的图片索引 TreeNode subNode = new TreeNode(string text); TreeNode(string text, int imageIndex, int selectedImageIndex; 选定树节点时的图片索引
TreeView ■ TreeNode对象的常用属性 ■FullPath:设置从根树节点到当前树节点的路径 ■Index:获取树节点在树节点集合中的位置 ■IsExpanded:树节点是否处于可展开状态 ■IsSelected:树节点是否处于选定状态 ■Nodes:获取分配给当前树节点的TreeNode对象的集合 ■Parent:当前树节点的父树节点 ■PrevNode:上一个同级树节点 ■Text:树节点标签中显示的文本 ■TreeView:树节点分配到的父树视图 5
5 TreeView ▪ TreeNode对象的常用属性 ◼ FullPath :设置从根树节点到当前树节点的路径 ◼ Index: 获取树节点在树节点集合中的位置 ◼ IsExpanded: 树节点是否处于可展开状态 ◼ IsSelected: 树节点是否处于选定状态 ◼ Nodes:获取分配给当前树节点的TreeNode 对象的集合 ◼ Parent:当前树节点的父树节点 ◼ PrevNode:上一个同级树节点 ◼ Text :树节点标签中显示的文本 ◼ TreeView :树节点分配到的父树视图
添加根节点 TreeNode newNode=new TreeNode(xy.Text,0,1); if(treeView1.Nodes.Count>0) foreach(TreeNodet in treeView1.Nodes) f if(t.Text==xy.Text) { MessageBox.Show("该学院已经存在,不能添动加!"); return; } } treeView1.Nodes.Add(newNode); 7
7 添加根节点 TreeNode newNode = new TreeNode(xy.Text, 0, 1); if (treeView1.Nodes.Count > 0) { foreach (TreeNode t in treeView1.Nodes) { if (t.Text == xy.Text) { MessageBox.Show("该学院已经存在,不能添加!"); return; } } } treeView1.Nodes.Add(newNode);
添加子节点 TreeNode selectedNode treeView1.SelectedNode; if (selectedNode =null) { MessageBox.Show('"请先选择院系!"); return; } TreeNode bjNode new TreeNode(bj.Text,2,3); selectedNode.Nodes.Add(bjNode ) selectedNode.Expand(); treeView1.Select( 展开选中节点 激活树视图
8 添加子节点 TreeNode selectedNode = treeView1.SelectedNode; if (selectedNode == null) { MessageBox.Show("请先选择院系!"); return; } TreeNode bjNode = new TreeNode(bj.Text, 2, 3); selectedNode.Nodes.Add(bjNode ); selectedNode.Expand(); treeView1.Select(); 展开选中节点 激活树视图
删除子节点 TreeNode t=treeView1.SelectedNode; if (t =null) { MessageBox.Show('"请先选择要删除的节点!"); return; } TreeNode parent=t.Parent; if(parent==null) 获取选中节点的父节点 treeView1.Nodes.Remove(t): else 选中节点为根节点 parent.Nodes.Remove(t): treeView1.Select(); 获取选中节点的子节点 9
9 删除子节点 TreeNode t = treeView1.SelectedNode; if (t == null) { MessageBox.Show("请先选择要删除的节点!"); return; } TreeNode parent = t.Parent; if (parent == null) treeView1.Nodes.Remove(t); else parent.Nodes.Remove(t); treeView1.Select(); 获取选中节点的父节点 选中节点为根节点 获取选中节点的子节点