欢迎来到天天文库
浏览记录
ID:41114011
大小:371.27 KB
页数:22页
时间:2019-08-16
《《Windows编程MDI》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象技术及其软件工具Windows程序设计——MDI应用程序内容MDI主窗体MDI子窗体菜单融合实例:文本编辑器MDI应用程序MDI:多文档界面MDI应用程序能够同时显示多个文档,每个文档显示在各自的窗口中。MDI主窗体MDI主窗体是包含MDI子窗体的窗体。IsMDIContainer=ture,将窗体指定为子窗体的MDI容器。WindowState通常设置为Maxmized,使子窗体的操作更容易。主窗体一般应具有主菜单可从系统模版中创建,或自定义创建至少应具有“文件”->“新建”菜单及“窗口”菜单,分别用以创建MDI子窗体及维护MDI子窗体
2、。MDI子窗体与SDI的设计过程类似选择合适的控件进行界面设计编码实现功能菜单融合通过以下两个属性控制菜单融合结果MergeActionAppend:忽略匹配结果,将该项追加到集合结尾。Insert:将该项插入目标集合中的匹配项前。如果匹配项在列表的结尾,则将该项追加到列表。如果没有匹配项或匹配项在列表的开始处,则将该项插入到集合的开始。MatchOnly:要求匹配项,但不进行任何操作。使用此方法来创建树和成功访问嵌套布局。Remove:移除匹配项。源菜单项保留。Replace:用源项替换匹配项。如果匹配不成功则保留在源菜单上。MergeInde
3、x主窗体:主菜单的顶级菜单项从左至右从0开始编号,与设置无关子窗体:负数代表不匹配,非负数代表要匹配的位置MDI实例:文本编辑器子窗体的创建窗口的维护文件的保存/另存文件的打开字体编辑内容的查找/替换子窗体的创建Form2[]form2;staticintcount=0;privatevoid新建NToolStripMenuItem_Click(objectsender,EventArgse){count++;Array.Resize(refform2,count);form2[count-1]=newForm2();form2[count-1]
4、.MdiParent=this;form2[count-1].Text=“新文档"+Convert.ToString(count);form2[count-1].Show();}窗口的维护窗口的排列层叠:this.LayoutMdi(MdiLayout.Cascade);水平:this.LayoutMdi(MdiLayout.TileHorizontal);垂直:this.LayoutMdi(MdiLayout.TileVertical);排列图标:this.LayoutMdi(MdiLayout.ArrangeIcons);子窗体列表主菜单:M
5、DIWindowListItem文件的打开if(this.dlg_openFile.ShowDialog()!=DialogResult.Cancel){count++;Array.Resize(refform2,count);form2[count-1]=newForm2();form2[count-1].MdiParent=this;form2[count-1].FileName=this.dlg_openFile.FileName;form2[count-1].Text=this.dlg_openFile.FileName;OpenFile
6、(this.dlg_openFile.FileName,form2[count-1].txtMain);form2[count-1].IsSaved=true;//用来识别是否为新建文件form2[count-1].IsChanged=false;form2[count-1].Show();privatevoidOpenFile(stringfileName,RichTextBoxtxtMain){FileInfofinfo=newFileInfo(fileName);//rtf文件if(finfo.Extension==".rtf"){txtM
7、ain.LoadFile(finfo.FullName,RichTextBoxStreamType.RichText);}//文本文件else//if(finfo.Extension==".txt"){txtMain.LoadFile(finfo.FullName,RichTextBoxStreamType.PlainText);}}内容编辑privatevoidtxtMain_TextChanged(objectsender,EventArgse){this.IsChanged=true;this.Text=this.FileName+"*";
8、}文件另存//保存文档Form2activeForm=(Form2)this.ActiveMdiChild;if(this.dlg_sa
此文档下载收益归作者所有