Visual Basic.NET程序设计课件 第9章 复杂界面.ppt

上传人:小****库 文档编号:3375168 上传时间:2020-08-18 格式:PPT 页数:111 大小:3.72MB
返回 下载 相关 举报
Visual Basic.NET程序设计课件 第9章 复杂界面.ppt_第1页
第1页 / 共111页
Visual Basic.NET程序设计课件 第9章 复杂界面.ppt_第2页
第2页 / 共111页
亲,该文档总共111页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Visual Basic.NET程序设计课件 第9章 复杂界面.ppt》由会员分享,可在线阅读,更多相关《Visual Basic.NET程序设计课件 第9章 复杂界面.ppt(111页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第9章 复 杂 界 面,9.1 菜单 9.2 工具栏 9.3 状态栏 9.4 视图 9.5 多窗体,一个应用项目,除了利用文本框、按钮、标签等公共控件设计程序外,还有很丰富的界面形式。 在窗体中设置菜单、工具栏和状态栏等,既可以帮助用户了解应用程序的整体功能,也可以直接完成具体的工作。 另外,应用项目还可以包含多个窗体,利用主窗口构建应用项目框架,由其他窗体完成各种特定功能。 本章主要介绍菜单、工具栏、状态栏和多重窗体、多重文档界面(Multiple Document Interface,MDI)等内容。,菜单在Windows应用程序界面组织上起着相当重要的作用,它使得用户对系统功能有一个整体

2、的认识,并且引导用户可视化地执行应用系统的命令。,9.1 菜 单,打开任何一个Windows程序,进入工作主界面都会看到菜单。例如,下图是VB.NET集成开发环境的窗口。,菜单栏位于窗口标题的下方,包含若干个菜单项,它们是可供选择的命令项目列表。 菜单栏标题后面括号里会有一个带下划线的字符,称为快捷键,同时按Alt键和带下划线的字符键,相当于单击了该菜单项。,9.1.1 菜单的形式,如果单击某个菜单项,系统会执行该菜单项的功能,或打开该菜单项的下拉列表,让用户做进一步的选择执行。 在工作界面上,单击鼠标右键时可能会出现一个关联的菜单列表,它的形式和下拉菜单一样,称之为快捷菜单。 菜单列表中的分

3、隔线用于功能分组。某些菜单项名称的右端会出现表示用键盘操作打开菜单命令的快捷方式。有的菜单项是灰色的,表示当前状态下不可选;,VS.NET以控件形式提供了设计菜单的可视化工具,使程序员能够便捷地设计应用项目的菜单系统。 在工具箱中,有5个用于设计菜单、状态栏和工具栏的控件: ContextMenuStrip控件用于建立快捷菜单; MenuStrip控件用于建立菜单栏; StatusStrip控件用于建立状态栏; ToolStrip控件用于创建工具栏; ToolStripContainer控件用于建立窗体每一侧的面板,面板中可以容纳ToolStrip、MenuStrip或 StatusStrip

4、控件。,MenuStrip类提供窗体的菜单系统,用于建立位于窗体顶部的主菜单栏和每个菜单项的下拉菜单。 工具箱中的MenuStrip控件是窗体菜单结构的容器。使用该控件,可以轻松地创建具有Windows风格的菜单界面。 MenuStrip控件支持多文档界面(MDI)、菜单合并、工具提示。 程序员可以通过添加访问键、快捷键、选中标记、图像和分隔条,来增强菜单的可用性和可读性。,9.1.2 菜单栏,MenuStrip控件是类对象的容器,它包含: ToolStripMenuItem、 ToolStripComboBox 、 ToolStripSeparator 和 ToolStripTextBox

5、。 ToolStripMenuItem类提供配置菜单项的外观和功能的属性。例如,显示菜单项旁边的选中标记,设置菜单项是否可见,是否禁用等。 ToolStripComboBox类显示与一个ListBox组合的编辑字段,使用户可以从列表中选择或输入新文本。 ToolStripSeparator类表示直线,用于对下拉菜单的项目进行分组。 ToolStripTextBox类允许用户在应用程序中输入文本。 这些类在工具箱中都以控件形式提供可视化的操作。,要创建菜单栏,首先用工具箱中的MenuStrip控件在窗体上建立一个对象(双击图标或拖放到窗体中),在窗体设计区下方的面板上出现一个控件图标,同时在窗体

6、菜单栏的位置出现一个可视化菜单编辑器。 选择控件图标可以设置菜单的属性,打开菜单项编辑器可以设计每一个菜单项。如下图所示。,可视化菜单编辑器上带有灰字“请在此处键入”的方框,双击它可以输入菜单项的文本,并且设置属性。也可以单击方框右端的小箭头,从下拉列表中选择“MenuItem”建立菜单项,选择“ComboBox”建立组合框,或选择“TextBox”建立文本框。,当输入一个菜单项的文本后,菜单编辑器的下方和右侧自动出现“请在此处键入”的小方框,分别用于建立当前项目的下拉菜单和菜单栏的下一个项目。 建立下拉菜单项时,输入框的下拉列表除了“MenuItem”、“ComboBox”和“TextBox

7、”外,还增加了一个选项“Separator”,用于添加分组线。 输入菜单项文本后,可以通过属性窗口或程序代码来设置修改菜单项的属性。 例如,将Visible属性设置为False将隐藏菜单项;将Enable属性设置为False,令菜单项无效;正常菜单项的Visible和Enable属性都为True。,菜单项的常用属性,菜单会触发两个事件: 单击将触发菜单项ToolStripMenuItem对象的Click事件; 单击菜单对象的任何组件都触发菜单控件MenuStrip对象ItemClicked事件。 通常将菜单项要执行的代码写在Click事件过程中,也可以在ItemClicked事件过程中统一编写

8、程序,实现各菜单项的功能。,新建一个项目,在窗体上放置MenuStrip控件MenuStrip1和TextBox控件TextBox1。,设计一个简单的文本编辑器。,例9-1,菜单项和文本框的基本属性设置,菜单项支持的唯一事件是Click事件,为了使菜单项执行命令,就需要编写Click事件过程。 以下是“编辑”菜单的事件过程,读者可以自行添加其他菜单项事件过程。 程序运行后,用户可以在文本框上做简单的文本编辑。,剪切 Private Sub MnuEditCut_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs)

9、 Handles MnuEditCut.Click TextBox1.Cut() 将选中的文本删除并复制到剪贴板上 End Sub 复制 Private Sub MnuEditCopy_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MnuEditCopy.Click TextBox1.Copy() 将选中的文本复制到剪贴板上 End Sub 粘贴 Private Sub MnuEditPaste_Click(ByVal sender As System.Object, _ ByVal e

10、As System.EventArgs) Handles MnuEditPaste.Click TextBox1.Paste() 将选中的文本用剪贴板上的文本替换 End Sub,删除 Private Sub MnuEditDel_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MnuEditDel.Click TextBox1.SelectedText = 删除选中的文本 End Sub 全选 Private Sub MnuEditSelectAll_Click(ByVal sender

11、As System.Object, _ ByVal e As System.EventArgs) Handles MnuEditSelectAll.Click TextBox1.SelectAll() 选中DtextBox1中的所有D本 End Sub 日期时间 Private Sub MnuEditDate_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MnuEditDate.Click Dim d As DateTime = DateTime.Now 获取当前日期时间 TextBox1

12、.SelectedText = d 在文本框的当前位置显示日期时间 End Sub,ContextMenuStrip 类定义快捷菜单。快捷菜单是窗体上的浮动式菜单,单击鼠标右键时显示,关联位置取决于右击时鼠标指针所在的控件位置。 快捷菜单也称为上下文菜单或弹出式菜单。 使用工具箱的ContextMenuStrip控件创建快捷菜单时,窗体设计区下方的面板上会出现一个控件对象图标,并且窗体上有一个ContextMenuStrip可视化菜单编辑器。 菜单编辑器的操作方式与建立菜单栏项的下拉菜单方式相同。,9.1.3 快捷菜单,编辑快捷菜单之后,需要设置关联控件。关联控件可以是窗体、文本框、图片框、菜

13、单等各种已经建立的控件。 操作方法是把关联控件的ContextMenuStrip属性置为快捷菜单的名称(Name)。 当程序员建立了快捷菜单之后,其他控件属性表的ContextMenuStrip属性中就会出现一个隐藏的下拉列表,供选择关联的快捷菜单。 一个窗体上可以设置多个快捷菜单,一个快捷菜单也可以跟多个控件关联。 快捷菜单中菜单项的属性、方法和事件,与主菜单栏的菜单项完全相同。 编写快捷菜单项的事件函数,运行程序后,右击关联控件,将弹出快捷菜单,提供执行菜单项的命令。,操作方法:在窗体上放置一个ContextMenuStrip控件,Name属性值采用默认的ContextMenuStrip1

14、。 使用编辑器编辑快捷菜单项,如图9.4所示。 然后把TextBox1的ContextMenuStrip属性设置为ContextMenuStrip1,如图9.5所示。,在例9-1的基础上,为文本框添加一个快捷菜单。,例9-2,注意: 本例在快捷菜单上没有设置快捷键。在一个窗体上,一个快捷键方式只能用于一个菜单项命令。 如果为多个菜单项设置同一个快捷键,那么这个快捷键操作就失效了。,仿照例9-1的方式,对各菜单项重新命名,编写各快捷菜单项的Click事件函数:,Private Sub ContextCut_Click(ByVal sender As System.Object, _ ByVal

15、e As System.EventArgs) Handles ContextCut.Click TextBox1.Cut() 将选中的文本删除并复制到剪贴板上 End Sub Private Sub ContextCopy_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles ContextCopy.Click TextBox1.Copy() 将选中的文本复制到剪贴板上 End Sub Private Sub ContextPaste_Click(ByVal sender As System.Ob

16、ject, _ ByVal e As System.EventArgs) Handles ContextPaste.Click TextBox1.Paste() 将选中的文本用剪贴板上的文本替换 End Sub Private Sub ContextDel_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles ContextDel.Click TextBox1.SelectedText = 删除选中的文本 End Sub,9.2 工具栏,工具栏是菜单栏的补充,它以直观、快捷的方式执行菜单项命令。

17、ToolStrip控件是建立工具栏对象容器,属性Items是对象集,可以包含按钮(ToolStripButton)、组合框(ToolStripComboBox)、文本框(ToolStripTextBox)、进度条(ToolStripProgressBar)和标签(ToolStripLabel)等对象。 按钮是最常用的对象,改变其属性可以改变按钮在工具栏的外观。,ToolStripButton的常用属性,单击工具栏时,触发ToolStrip控件的ItemClicked事件。 单击工具栏上的按钮时,触发ToolStripButton按钮的Click事件。,设计工具栏的方法和建立菜单栏方式相同。首先

18、用工具箱建立一个ToolStrip控件。 控件图标出现在窗体设计区面板,窗体上方出现工具对象编辑器。 每个待编辑的工具对象含有一个隐藏的下拉列表,用于选择对象的类型,默认为按钮。 例如,若选择的工具类型为按钮Button,则生成一个默认名为 ToolStripButtonN的按钮对象,其中N是序号。 借助工具对象属性列表,可以设置每个工具对象的属性。 Image属性用于设置显示图标。 如果希望设计与Microsoft 软件外观一致的应用程序,可以使用VS.NET系统的图像库。,若是安装了Visual Studio 2010,在默认目录 .Program FilesMicrosoft Visua

19、l Studio 10.0Common7VS2010ImageLibrary 中有文件一个压缩文件:VS2010ImageLibrary.zip,这个压缩文件是图像库文件,包括3类图像:动画、位图和图标,共有1000多幅图像,还有相关的自述文件 *readme.htm。 这些图像是出现在 Microsoft Windows、Microsoft Office、Microsoft Visual Studio 和其他 Microsoft 软件中的应用程序图像的集合。,操作方法: 在窗体建立一个ToolStrip控件ToolStrip1。 用窗体上的工具栏编辑每个工具对象。打开工具对象右端的下拉列表设

20、置对象属性。 每个工具选择为按钮。 从控件属性表中把DisplayStyle属性设置为ImageAndText,显示文本和图形,分别在每个对象属性表用Image属性选择图标,用Text属性输入显示文本。,在例9-2程序添加工具栏。,本例设置了工具栏的4个工具按钮:复制、剪切、粘贴和删除。,例9-3,Private Sub ToolStrip1_ItemClicked(ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) _ Handles ToolStrip

21、1.ItemClicked If e.ClickedItem Is ToolStripButton1 Then TextBox1.Copy() 将选中的文本复制到剪贴板上 ElseIf e.ClickedItem Is ToolStripButton2 Then TextBox1.Cut() 将选中的文本删除并复制到剪贴板上 ElseIf e.ClickedItem Is ToolStripButton3 Then TextBox1.Paste() 将选中的文本用剪贴板上的文本替换 Else TextBox1.SelectedText = 删除选中的文本 End If End Sub,状态栏S

22、tatusStrip控件一般位于窗体的底部,用于显示正在窗体上操作的信息。 例如,显示当前打开的文件、当前日期等。 StatusStrip控件是一个容器,它可以包含用于显示文本、图标的ToolStripStatusLabel对象,还可以包含 ToolStripDropDownButton、ToolStripSplitButton 和 ToolStripProgressBar 对象。 这些对象都是由StatusStrip控件的Items属性设置。,9.3 状态栏,StatusStrip控件的常用属性,使用工具箱在窗体上设置状态栏后,图标出现在窗体下方的设计面板上,编辑器出现在窗体底部。可以通过D

23、ock属性改变状态栏在窗体的停靠位置。 在状态栏上添加对象,需要设置StatusStrip控件的Items属性。单击状态栏控件Items属性右边的按钮,将弹出 “项集合编辑器”对话框。,对话框的左上方用于添加不同类型的对象,下方是对象列表,可以调整顺序,可以删除对象。 对话框的右边是属性设置列表。选择不同类型的对象,将会显示不同的属性列表。,在例9-3的窗体上添加一个StatusStrip控件和一个Timer控件。选中StatusStrip控件,单击该控件属性表的Items属性右边的按钮,通过“项集合编辑器”在状态栏添加3个StatusStripStatusSLabel对象,设置它们的Name

24、属性和Text属性分别为lengthNow、字数;dateNow、日期;timeNow、时间。,例9-4,在例9-3的窗体上添加状态栏,使其显示文本框中的字符数和系统的当前日期时间。,Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles MyBase.Load Timer1.Start() 启动计时器 End Sub Private Sub TextBox1_TextChanged(ByVal sender As System.Object, _ ByVal e

25、As System.EventArgs) Handles TextBox1.TextChanged lengthNow.Text = 字数: & TextBox1.TextLength End Sub,Private Sub Timer1_Tick(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Timer1.Tick Dim moment As DateTime = DateTime.Now 说明当前时间对象 Dim year% = moment.Year Dim month% = moment.Mo

26、nth Dim day% = moment.Day Dim hour% = moment.Hour Dim minute% = moment.Minute Dim second% = moment.Second dateNow.Text = 当前日期: & year & 年 & month & 月 & day & 日 timeNow.Text = 当前时间: & hour & 时 & minute & 分 & second & 秒 End Sub,9.4 视 图,视图是Windows应用程序界面中常见的组件,经常用于信息浏览。典型的视图界面如资源管理器:,左窗格是一个树状列表,以层次结构的形式

27、显示系统的文件组织。树状列表的节点可以折叠或展开。 右窗格是一个列表视图,第一行是标题,窗格内显示选中的树节点文件夹的详细信息。,树视图TreeView控件以分层方式显示标记项。 TreeView类封装了树视图,提供了一系列属性、方法和事件。利用VB.NET设计器可以便捷的方式编辑视图的结构和节点。,9.4.1 树视图,1TreeNode编辑器,当在窗体上建立一个TreeView对象后,关键是要设计树视图节点。 树视图的结构和节点由Nodes属性表示。Nodes集合包含分配给TreeView控件的所有TreeNode类的节点对象。利用控件的Nodes属性项可以可视化地建立树视图。,单击Node

28、s属性项右端的小按钮,将打开“TreeNode编辑器”对话框:,编辑器左边是节点编辑窗口。Nodes集合中的第一层节点称作树的根节点。 随后添加到树根节点上的任何树节点称作子节点。 每个TreeNode都可以包含其他 TreeNode 对象的集合,即可以为每一个节点添加子级节点,也可以添加同层的根节点。,TreeView类是Control类的派生类,并且有特定的属性和方法。,2树视图属性,TreeView类常用属性,TreeView类的大部分属性既可以通过属性表也可以在程序中用代码设置。,3树视图事件,Private Sub TreeView1_AfterSelect(ByVal sender

29、 As System.Object, _ ByVal e As System.Windows.Forms.TreeViewEventArgs) _ Handles TreeView1.AfterSelect TextBox1.Text = e.Node.Text End Sub,树视图控件的事件过程参数可以传递用户的操作信息。 例如,AfterSelect事件过程传递单击节点的索引。以下函数把单击选取节点的文本显示在文本框中。,例9-5,使用树视图,打开不同的文件,在文本框中显示出来。,界面设计:左窗格建立一个树视图控件TreeView1,树节点是中国和各省、省会城市。ImageList1组件

30、装载了两个用于显示节点是否被选中的图像,用于设置TreeView1的ImageIndex和SelectedImageIndex属性。右边一个标签Label1用于显示标题,一个文本框RichTextBox1,用于显示打开相关的介绍文件。,准备好用于显示的文本文件,并分别以节点Text属性值命名文件名。例如,有D:中国.rtf、D:黑龙江省.rtf、D:哈尔滨市.rtf、D:吉林省.rtf案等。,编写事件过程: Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, _ ByVal e As System.Windows.F

31、orms.TreeViewEventArgs) _ Handles TreeView1.AfterSelect Label1.Text = RichTextBox1.Clear() Label1.Text = e.Node.Text + 简介 显示标题 Dim fileName As String = D: & e.Node.Text & .rtf 选择文件名 RichTextBox1.LoadFile(fileName) 装载显示文件 End Sub,4TreeNodeCollection类的方法,TreeNodeCollection类提供树视图的编辑方法。可以在程序中编辑树视图节点。 例如

32、,添加、删除树节点。,TreeNodeCollection类的主要方法,TreeNodeCollection类方法有不同的重载方式,以下代码做简单的添加、删除节点操作。 为当前节点添加一个子节点 Dim newNode As TreeNode = New TreeNode(新节点) TreeView1.SelectedNode.Nodes.Add(newNode) 为当前节点添加一个显示文本为新节点的子节点 TreeView1.SelectedNode.Nodes.Add(新节点) 清除当前选定节点 TreeView1.Nodes.Remove(TreeView1.SelectedNode)

33、清除所有节点 TreeView1.Nodes.Clear(),9.4.2 列表视图,ListView控件显示带图标的显示项列表。列表视图可以创建类似于Windows资源管理器右窗格的用户界面。,1列表视图属性,列表视图以表格形式显示信息。一行显示内容为称为一个显示“项”。一个显示项可以包含多个列元素,称为子项。 列表视图的第一行和第一列称为标题。Columns属性和Items属性是两个设定视图列、行数目以及显示标题文本的集合。 ListView控件提供了大量可灵活设置外观和行为的属性。,ListView类主要属性,ListView控件中的多数属性会影响不同视图操作或显示的方式,而一些属性只有在

34、View设置为特定值时才有用。 View属性可以选择5种视图模式:LargeIcon(大图标)、SmallIcon(小图标)、List(列表)、Details(详细信息)、Tile(平铺)方式。默认模式是LargeIcon。这些属性可以在程序中赋值,以改变视图项目的显示方式。 当将ListView控件的View属性设置为Details时,可以使用该控件的许多属性。 AllowColumnReorder 属性使得用户可以在运行时重新配置列的顺序。FullRowSelect 属性允许选择项及其子项。GridLines属性在详细资料视图中显示网格线。HeaderStyle 属性允许指定列标头的类型。

35、 建立了ImageList组件后,大图标视图用LargeImageList属性指定使用的ImageList对象,SmallImageList属性指定小图标视图使用的ImageList对象。可以在窗体建立多个ImageList组件,供不同的视图形式使用。,在窗体上建立列表视图控件后,首先选择View模式,然后设置其他属性。 例如,建立一个详细信息视图的过程: 在窗体上建立了一个ListView1。 选择View属性为Details。 通过属性列表的Columns属性项打开列标题集合编辑器。通过编辑器添加各项目,设置显示文本的Text属性。如图所示。, 选择Items属性,打开视图项目集合编辑器。

36、在编辑器中,添加显示行项目并设置第一列的显示文本。如图9.18所示。, 如果还希望显示项目图标,可以首先建立ImageList组件,装载需要的图像,然后用图像去设置列表视图ListView1的LargeImageList 属性和SmallImageList属性。,2列表视图事件,列表视图的标题和显示项都可以激发各种事件。,ListView类主要事件,3ListViewItemCollection类的方法,ListViewItemCollection类是ListView类的派生类,提供多种操作列表视图的方法,包括插入、删除项及查找指定项等。,ListViewItemCollection类主要方法

37、,例如: 添加一个项,文本为new,图标为imageList0 ListView1.Items.Add(new, 0) 删除列表的第3项 ListView1.Items.Remove(ListView1.Items(2) 删除列表的第4项 ListView1.Items.RemoveAt(3) 删除列表全部项 ListView1.Items.Clear(),例9-6,演示列表视图操作。在设计时,在窗体上建立一个列表视图控件ListView1,通过程序做相关属性设置,在控件中显示信息。,建立模块Module1,其中定义InitializeListView过程。,Module Module1 Su

38、b InitializeListView() Form1.ListView1.View = View.Details Dim columnHeader1 As ColumnHeader = New ColumnHeader columnHeader1.Text = 名称 columnHeader1.TextAlign = HorizontalAlignment.Left columnHeader1.Width = 146 Dim columnHeader2 As ColumnHeader = New ColumnHeader columnHeader2.Text = 面积 columnHead

39、er2.TextAlign = HorizontalAlignment.Center columnHeader2.Width = 142,Form1.ListView1.Columns.Add(columnHeader1) Form1.ListView1.Columns.Add(columnHeader2) Dim nameList As String() = 黑龙江省, 河北省, 河南省, 山东省, _ 山西省, 广东省 Dim area As String() = 46万平方千米, 19万平方千米, 16万平方千米, _ 15万平方千米, 15万平方千米, 18万平方千米 Dim coun

40、t% Dim listItem As ListViewItem For count = 0 To nameList.Length - 1 listItem = New ListViewItem(nameList(count) listItem.SubItems.Add(area(count) Form1.ListView1.Items.Add(listItem) Next End Sub End Module,Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _ System.EventArgs) Handles

41、MyBase.Load InitializeListView() End Sub,从Form1_Load事件过程调用InitializeListView过程。,在这之前讨论的应用程序界面都只有一个窗体。 若Windows程序用户程序界面只有一个窗体,称为单文档界面(Single Document Interface,SDI)。 复杂的应用程序往往需要多个窗体,以显示不同的界面,完成不同的操作。,9.5 多 窗 体,9.5.1 多重窗体界面,一个项目中,若设置多个互相独立的窗体,这种界面称为多重窗体界面(Multi-Form Interface)。,1多窗体界面的特殊属性和方法,在第8章已经介绍

42、过窗体的常用属性和方法,它们同样适用于多窗体程序。 而有些特殊的属性和方法是适用于多窗体界面程序的。 当多个窗体互相独立时,它们可以显示在桌面的任何位置。 还有几个特殊的属性可以改变窗体的显示效果。,(1)StartPosition属性,StartPosition属性指定窗体启动位置。它的值可以通过设计时在属性表中设置,也可以在程序运行时通过代码动态修改。 其值由FormStartPosition定义的枚举值指定: Manual窗体位置由设计时的位置决定。 CenterScreen窗体位置在屏幕上居中。 WindowsDefaultLocation窗体在系统默认位置,尺寸由窗体大小指定。 Wi

43、ndowsDefaultBounds窗体在系统默认位置,边界由默认值决定。 CenterParent窗体位置以其父窗体的位置居中。,(2)TopMost属性 TopMost属性用Boolean类型值指示窗体是(True)否(False)置于顶层,默认为False。 一般情况下,活动的窗体位于应用程序的其他窗体之前,当失去焦点后,该窗体就不一定还在最前面。 而当一个窗体的TopMost属性被置为True时,即使失去焦点,依然可以在顶层可见。 (3)Opacity属性 Opacity属性用Double类型值指示窗体的透明度,其设置值为01(100%),默认值为1。 一般情况下,窗体是不透明的,即前

44、面的窗体会覆盖其后的其他对象,被覆盖的对象不可见。 窗体的Opacity属性越接近0,透明度越高。窗体透明,就会看到背后的对象了。,(4)Show方法 Show方法加载并显示窗体,相当于把窗体的Visible属性置为True。 (5)ShowDialog方法 ShowDialog方法加载并以模态方式显示窗体。 当打开模态窗口后,鼠标只能在该窗体内有效,不能在别的窗口上操作,直到关闭这个窗口,才能进行其他操作。 用Show方法打开的窗口是非模态窗口。,(6)Hide方法 Hide方法用来隐藏窗口,相当于把窗体的Visible属性置为False。 窗体隐藏后,还保存在内存。调用Show方法或者把V

45、isible属性置为True,可以重新显示窗口。 (7)Close方法 Close方法卸载窗体,释放对象占用内存资源,不能再调用Show方法显示窗体。,2建立多重窗体程序, 创建“Windows窗体应用程序”项目。系统自动建立一个命名为Form1的主窗体。 在当前项目中,选择开发环境的“项目”“添加Windows窗体”菜单命令(或选择添加新项菜单命令),打开“添加新项”对话框(如图所示),选择Windows窗体,输入窗体名称后,单击“添加”按钮,就可以向项目添加新的窗体。, 为每个窗体设计界面和应用程序。 编译运行项目。,说明:设计时建立的窗体是一个窗体类,除了主窗体外,其他窗体在程序运行后不

46、会自动显示,必须在程序中用New操作创建实例,然后执行Show方法才能显示出来。 主窗体实例则由VB.NET自动地在项目中创建并运行。,例9-7,建立简单多重窗体程序,通过窗体上的按钮显示其他窗体。,界面设计三个窗体,属性设置如下:,Public Class Form1 “打开窗口2”按钮事件函数 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim f2 As New Form2 建立窗体实例 f2.StartPosit

47、ion = FormStartPosition.WindowsDefaultLocation 设启动位置 f2.TopMost = True 置于顶层 f2.Opacity = 0.8 设透明度 f2.Show() 装载显示窗口 End Sub,“打开窗口3”按钮事件函数 Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click Dim f3 As New Form3 建立窗体实例 f3.StartPosition = FormSta

48、rtPosition.WindowsDefaultLocation 设启动位置 f3.Show() 装载显示窗口 End Sub End Class,Public Class Form2 “打开窗口3”按钮事件函数 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim f3 As New Form3 f3.StartPosition = FormStartPosition.WindowsDefaultLocation f3.Show() End Sub End Class,程序运行后,可以用窗口1的按钮打开窗口2和窗口3;也可以用窗口2上的按钮打开窗口3。窗口2虽然置顶,但通明度为0.8,可以看见后面的窗口。 显示效果如图所示。,9.5.2 多文档界面,若窗体之间具有父子关系,则称为多文档界面(MDI),通常也称为MDI窗体应用界面。 MDI是Windows应用程序常用的一种典型结构。MDI界面应用程序的基础是MDI父窗体,它是包含子窗口的容器。 子窗口是用户与MDI应用程序进行交互的副窗口。子窗体的显示被限制在父窗体内。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com