Vindows程序设计 第7章窗体的高级应用
Windows 程序设计 第7章 窗体的高级应用
本章目标 ■ 理解Vindows应用程序运行机制 ■了解基本控件的常用属性和支持的常用方法 理解基于事件的编程方法 掌握Windows应用程序组成文件的作用 ■掌握TreeView等高级控件的基本属性和方法的使用 ■掌握模式窗体和非模式窗体的区别和调用方式 ■掌握多文档界面的设计方法
2 本章目标 ▪ 理解Windows应用程序运行机制 ▪ 了解基本控件的常用属性和支持的常用方法 ▪ 理解基于事件的编程方法 ▪ 掌握Windows应用程序组成文件的作用 ▪ 掌握TreeView等高级控件的基本属性和方法的使用 ▪ 掌握模式窗体和非模式窗体的区别和调用方式 ▪ 掌握多文档界面的设计方法
授课内容 TreeView控件 模式窗体 非模式窗体 单文档应用程序 多文档应用程序 小结
3 授课内容 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 :树节点分配到的父树视图
案例 Forml 口ox 日信电学院 软件工程 网路工程 添咖加学院 计算机 “文学院 外国语学院 添加班级 "交通学院 除节点 清空列婊☐ 6
6 案例
添加根节点 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(); 获取选中节点的父节点 选中节点为根节点 获取选中节点的子节点
模式窗体 模式窗体 ■模态对话框 ■窗体打开时,只能对其进行相应的操作,而不能转而去 操作应用程序的其他功能,并且,鼠标也不能点击该窗 体以外的当前应用程序的其他区域 ■显示方法 窗体名.ShowDialog() 要作为模式窗体显示的窗体名称 10
10 模式窗体 ▪ 模式窗体 ◼ 模态对话框 ◼ 窗体打开时,只能对其进行相应的操作,而不能转而去 操作应用程序的其他功能,并且,鼠标也不能点击该窗 体以外的当前应用程序的其他区域 ▪ 显示方法 要作为模式窗体显示的窗体名称 窗体名.ShowDialog( )