界面设计模块_第1页
界面设计模块_第2页
界面设计模块_第3页
界面设计模块_第4页
界面设计模块_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

界面设计模块一、界面设计模块:本章讲解界面的设计方法以及基本的界面创建方法,如果需要创建类似的界面,可以在这些基础之上进行修改。用户界面是一个应用程序最重要的部分,对用户而言,界面就是应用程序,他们感觉不到幕后正在执行的代码。无论花多少时间和精力来编制和优化代码、代码编写得如何出色、运行性能如何高,用户总是要与应用程序界面进行交互操作,而不是与代码进行交互操作,应用程序的可用性在很大程序上仍然依赖于界面的好坏。因此,界面设计是软件设计的一个重要方面。1、界面设计原则在设计应用程序用户界面的过程中,需要时时想到用户。一般需要遵守一下原则:(1)界面设计初步规划:设计一个应用程序界面时,应该先对整个系统界面进行初步规划。考虑应该使用单文档还是多文档样式,需要多少个不同的窗体,菜单中将包含什么命令,要不要使用工具栏重复菜单的功能,提供什么对话框与用户交互,需要提供什么样的帮助。(2)符合Windows界面准则:随着Windows操作系统的使用用户的增加,用户更容易接受基于Windwos的应用程序。如果创建的界面与此相差太远的话,不容易让人接受。比如菜单的设计,大多数基于Windows的应用程序都遵循这样的标准,即“文件”菜单在最左边,然后是“编辑”、“工具”等可选菜单,最右边是“帮助”菜单。如果把“帮助”菜单放在最前面,便会降低应用程序的可用性。子菜单的位置也很重要,用户本期望在“编辑”菜单下找到“复制'、“剪贴”与“粘贴”等子菜单,若将它们移到“文件”菜单下会使用户不可理解。(3)使用颜色:一般来说,最好采用一些柔和的、中性化的颜色。(4)选取字体:一般来说,使用标准的Windows字体,如Arial、NewTimesRoman、System等。如果用户的系统没有包含指定的字体,系统会使用替代的字体,其效果可能与设想的完全不一样。大多数情况下,不应当在应用程序中使用两种以上的字体。注意不要在应用程序中使用太多的字体,也不要设置太小的字体,以免影响用户阅读。(5)合理的控件布局,保持界面的简明2、初始屏幕窗体设计初始屏幕又称为Splash窗体。Splash窗体的主要作用如下:♦用户可以确定应用程序已经启动。♦显示一些该应用程序的基本信息。♦应用程序初始化。设计中,必须保证Splash窗体在所有窗体的前面。在程序启动过程中显示Splash窗体,在应用程序初使化成功后自动关闭。设计Splash窗体最简单的方法就是使用VisualBasic2005中的Splash窗体模板。方法提示如下:如何添加:“项目”菜单-->”添加Windows窗体”-->选择“初始屏幕”个性化设置:BackgroudImage属性、BackgroudImageLayout属性更改其图片和图片的排列方式打开项目的属性页,在“应用程序”选项卡中,设置“初始屏幕<L)”一栏,并修改”程序集信息(Y)”的内容。还可适当调整标题和版权信息的位置,使其分布合理。3、MDI窗体设计多文档界面(MultipleDocumentInterface)的含义就是创建在单个容器窗体中的多文档界面。MDI应用程序允许用户同时显示多个文档,每个文档显示在它自己的窗口中。文档或子窗体被包含在父窗口中,父窗口为应用程序中的所有子窗体提供工作空间。让用户随意在各个文档间来回切换进行数据剪切及连接工作。为了更好地理解多文档界面,可以比对以下两个界面。记事本为单文档界面。MicrosoftExcel为多文档界面。3.1创建MDI窗体新建一个Windows应用程序,设置Form1的IsMDICondtainer属性为True,这就指定了该窗体为其他子窗体的容器。注意,也常将Form1的WindowState属性设置为Maxmized,因为当父窗体最大化时操作子窗体最为容易。添加一个窗体,命名为childfrom。为了在父窗体中将一个窗体以子窗体的方式打开,需要把子窗体的MDIParent属性设为父窗体。在Form1中使用下列代码来显示其中的子窗体:PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadDimchildfrom1AsNewchildformDimchildfrom2AsNewchildformchildfrom1.MdiParent=Me'为了在父窗体中将一个窗体以子窗体的方式打开,需要把子窗体的MDIParent属性设为父窗体。childfroml.Text=〃第一个子窗体〃childfrom1.Show()'显示第一个子窗体childfrom2.MdiParent=Mechildfrom2.Text=〃第二个子窗体〃childfrom2.Show()EndSub运行这个程序的结果如下图所示。它由父窗体From1和两个childfrom子窗体组成。无论如何改变子窗体childfrom的大小,它永远位于父窗体Form1的工作空间内。3.2窗口切换为了提供一个用于列出父窗口中所有可用子窗口的菜单项,应给Form1增加一个新的Menustrip控件。创建一个菜单项(名称为“窗口”),并设置它的MDIWindowListItem属性这样,子窗体的名称就会自动显示在“窗口”菜单项中。当用户选择其中的某个菜单项时,会在子窗口之间进行切换;当从父窗体中增加和删除子窗体时,菜单项会自动更新。运行结果如下图所示:

3.3窗口排列通过合并使用LayoutMDI方法和MDILayout枚举来重新排列多文档界面父窗体中的子窗体。LayoutMDI方法可使用4个不同MDILayout枚举值中的一个。这些枚举值将子窗体显示为层叠、水平平铺、垂直平铺或显示为排列在MDI窗体下部的子窗体图标。MDILayout枚举值如下表所示:成员名称说明ArrangeIcons所有MDI子图标均排列在MDI父窗体的工作区内。Cascade所有MDI子窗口均层叠在MDI父窗体的工作区内TileHorizontal所有MDI子窗口均水平平铺在MDI父窗体的工作区内。TileVertical所有MDI子窗口均垂直平铺在MDI父窗体的工作区内。代码如下:PrivateSub平铺ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles平铺ToolStripMenuItem.ClickLayoutMdi(MdiLayout.TileHorizontal)'平铺EndSubPrivateSub纵铺ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles纵铺ToolStripMenuItem.ClickLayoutMdi(MdiLayout.TileVertical)'纵铺EndSubPrivateSub层叠ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles层叠ToolStripMenuItem.ClickLayoutMdi(MdiLayout.Cascade)'层叠EndSubPrivateSub排列ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles排列ToolStripMenuItem.ClickLayoutMdi(MdiLayout.ArrangeIcons)'排列EndSub4、菜单设计(MenuStrip)菜单项一般有3种状态:正常、隐藏和禁用。大多数菜单项属于“正常”状态,出现在菜单栏或菜单的下栏列表中。“隐藏”菜单是在运行时不出现在菜单栏或下拉列表中的菜单项,“禁用”菜单是在运行时呈灰色显示的菜单项,它表示当前的菜单项不能执行。4.1添加菜单和菜单项新建一个Windows应用程序,向窗体添加一个MenuStrip控件和TextBox控件,将TextBox控件的Multiline属性设置为True(Multiline属性控制控件的文本是否能够跨越多行),界面设计如下图所示:创建下面的代码,实现“剪切”、“复制”、“粘贴”的功能。代码如下:PrivateSub剪切ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles剪切ToolStripMenuItem.ClickTextBox1.Cut()EndSubPrivateSub复制ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles复制ToolStripMenuItem.ClickTextBox1.Copy()EndSubPrivateSub粘贴ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles粘贴ToolStripMenuItem.ClickTextBox1.Paste()EndSub4.2隐藏菜单通常,当菜单项上所有菜单项都不可用时,最好隐藏整个菜单。这能减少对用户的干扰。而且,必须隐藏并且禁用菜单,因为仅靠隐藏无法防止通过快捷键访问菜单命令。在窗体中选定菜单项,经其Visible属性设置为False。当隐藏给定菜单中的顶级菜单项(其Visible属性设置为False时),将隐藏该菜单内的所有菜单项。现在,把“文件”菜单的Visible属性设置为False。按F5键运行该程序,结果发现,窗体中没有显示出“文件”菜单,它被隐藏了。4.3禁用菜单要禁用某个菜单,只需把它的Enabled属性设置为False就可以了。4.4菜单分组在菜单系统中,通过分割线将菜单项分组,把功能相近的菜单命令放在一起。为了添加分割线,需要在设置菜单项的Text属性时,输入短划线(-),是该菜单项称为分割线。4.5菜单键盘控制用键盘选取菜单通常有两种方法,即快捷键和访问键。用快捷键可以直接执行菜单命令,不必一级一级地下拉菜单,速度较快,适合熟悉键盘的用户使用。设置快捷键的方法:设置菜单的ShortCutKeys属性所谓访问键,就是菜单项中加下划线的字母,只要按ALT键和加了下划线的字母,就可以执行相应的菜单,使用访问键,必须一级一级地选择。设置访问键的方法:设置菜单的Text属性时在前面加上&5、工具栏(ToolStrip)设计在Windows应用程序中,工具栏已称为标准特性。用户可单击图形按钮来完成常用操作。为窗体添加图像列表控件(ImageList控件)在工具栏(ToolStrip)的图标按钮中,需要放置图片,而图片可取自ImageList控件(图像列表控件)。因此在建立工具栏内含的图标按钮之间,先要建立图像列表控件,并在图像列表控件中安装好所需要的图片。向窗体中添加一个ImageList控件,自动命名为ImageListl。单击ImageListl的Images属性的右边的按钮,打开“图像集合编辑器”对话框,添加所要的图片。为窗体添加工具栏控件向窗体中添加一个ToolStrip控件,自动命名为ToolStripl。单击ToolStripl的Items属性的右边的按钮,打开“项集合编辑器”对话框,添加按钮。注意:可分别设置各个按钮的ToolTipText属性(ToolTipText属性:指定按钮的提示内容)将ToolStrip控件的ImageList属性设置为ImageList控件;将ToolStripButtons对象的ImageIndex属性赋值为图标在Images集合中的索引。代码如下:ToolStripl.ImageList=ImageList1ToolStripButton1.ImageIndex=0ToolStripButton2.ImageIndex=1ToolStripButton3.ImageIndex=2ToolStripButton类提供了Tag属性来简化对事件的处理。当创建ToolStripButton对象时,可以将Tag属性设置为其他对象。这样当工具栏的事件处理方法被调用时,就可以使用Tag属性中指向的对象来进行需要的操作了。如当用户单击工具栏上的图标来打开文件,程序就会自动调用与用户选择File菜单中的OpenFile菜单项的同样的世纪爱年处理方法。代码如下:PrivateSubopenButton_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesopenButton.ClickopenButton.Tag=OpenFileOpenFile.PerformClick()EndSub6、树形目录(TreeView):TreeView显示标记项的分层集合,每个标记项用一个TreeNode来表示。在创建属性目录中常用到的一些知识点:TreeView常用事件说明DoubleClick在双击控件时发生。AfterSelect在选定树节点后发生。TreeView常用属性说明NodesTreeview控件中的根节点

SelectedNode当前在树视图控件中选定的树节点。Parent控件的父容器。TextTreeView的文本CheckBoxes用以指示是否在树视图控件中的树节点旁显示复选框。如果在树视图控件中的每个树节点旁显示复选框,则为true;否则为false。默认为false。方法说明注意事项TreeNode.CollapseAll折叠当前节点及其所有子节点若要仅折叠当前节点,请考虑使用Collapse方法°CollapseAll将折叠整个树中的所有节点。展开节点用Expand方法TreeViewEventArgs成员为TreeView控件的以下事件提供数据:AfterCheck(在选中树节点复选框后发生)、AfterCollapse(在折叠树节点后发生)、AfterExpand(在展开树节点后发生)或AfterSelect(在选定树节点后发生)。TreeViewEventArgs.Node属性:获取已选中、展开、折叠或选定的树节点。6.1如何确定单击了哪个TreeView节点新建一个Windows应用程序,向窗体添加一个TreeView控件和ImageList控件,自动命名为TreeViewl,ImageListl。设置ImageList控件的属性:单击ImageList1的Images属性的右边的按钮,打开“图像集合编辑器”对话框,添加所要的图片。将TreeView控件的ImageList属性设置为ImageListl设置TreeView控件属性:首先添加树形目录的结点。添加的方法就是单击“属性”窗口中Nodes属性旁的按钮,在弹出的TreeNode编辑器里面添加树结点,请将每一个节点的Imageindex属性赋值为图标在Images集合中的索引。以上三个步骤完成界面如图所示:⑤添加代码:通过检查TreeViewEventArgs类(它包含与事件有关的数据),确定单击了哪个节点。代码参考如下:PrivateSubTreeView1_AfterSelect(ByValsenderAsSystem.Object,ByValeAsSyst

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论