第11章FORM窗体和对话框.ppt

上传人:本田雅阁 文档编号:2093232 上传时间:2019-02-13 格式:PPT 页数:46 大小:2.97MB
返回 下载 相关 举报
第11章FORM窗体和对话框.ppt_第1页
第1页 / 共46页
第11章FORM窗体和对话框.ppt_第2页
第2页 / 共46页
第11章FORM窗体和对话框.ppt_第3页
第3页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第11章FORM窗体和对话框.ppt》由会员分享,可在线阅读,更多相关《第11章FORM窗体和对话框.ppt(46页珍藏版)》请在三一文库上搜索。

1、1,第11章 FORM窗体和对话框,2,教学内容,理解窗体的概念 掌握通用对话框的使用 熟悉MDI程序的编写,3,11.1 引例,例11-1 创建多个标准的对话框。 分析 标准对话框控件在工具箱中可以找到。,4,要求,(1)单击输入菜单显示一个InputBox对话框,提示用户输入姓名和班级。输入的姓名和班级将被显示在TextBox控件中。 (2)单击样式菜单下的字体和颜色菜单将分别弹出字体和颜色选择对话框,可以设置TextBox中的字体和颜色。 (3)单击文件菜单下的打开和保存菜单项将弹出打开文件和保存文件的对话框,选择了文件后将给出一个消息框显示选择的文件名及路径。没有编写打开和保存文件的实

2、际代码。,5,步骤,(1)新建项目DialogExample (2)分别添加MainMenu、OpenFileDialog、SaveFileDialog、FontDialog以及ColorDilaog控件 (3)合理命名这些控件的Name属性。 (4)设计主菜单的顶层菜单为文件、样式及输入3项。 文件菜单下有3项,分别为打开、保存和退出。 样式菜单下有2项为字体和颜色。 输入菜单下没有子项。 (5)再放置一个TextBox控件到窗体上,并将MultiLine属性设为True。命名各菜单项和TextBox控件的Name属性 (6)为各个菜单添加Click事件过程。,6,设计界面,7,程序代码,P

3、rivate Sub MnuFileExit_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MnuFileExit.Click Me.Close() End Sub,8,Private Sub MnuFileOpen_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MnuFileOpen.Click OpenFileDialog.ShowDialog() Dim strFileName

4、As String strFileName = OpenFileDialog.FileName If strFileName “ Then MessageBox.Show(strFileName, “Open File“, _ MessageBoxButtons.OK, MessageBoxIcon.Information Else MessageBox.Show(“没有选择任何文件!“, “Errors“, _ MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub,9,Private Sub MnuFileSave_Click(

5、ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MnuFileSave.Click SaveFileDialog.ShowDialog() Dim strFileName As String strFileName = SaveFileDialog.FileName If strFileName “ Then MessageBox.Show(strFileName, “Save File“, _ MessageBoxButtons.OK, MessageBoxIcon.Information) Else

6、 MessageBox.Show(“没有选择任何文件!“, “Errors“, _ MessageBoxButtons.OK, MessageBoxIcon.Error) End If End Sub,10,Private Sub MnuStyleFont_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuStyleFont.Click FontDialog.ShowDialog() TxtShow.Font = FontDialog.Font End Sub,11,Private Sub

7、MnuStyleColor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuStyleColor.Click ColorDialog.ShowDialog() TxtShow.ForeColor = ColorDialog.Color End Sub,12,Private Sub MnuInput_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles MnuInput.Click Dim strName A

8、s String Dim strClass As String strName = InputBox(“请输入姓名“) strClass = InputBox(“请输入班级“, , , 70, 90) TxtShow.Clear() TxtShow.Text = “姓名:“ + strName + vbCrLf TxtShow.Text += “班级:“ + strClass + vbCrLf End Sub,13,11.2对话框,(1)对话框 一种特殊的窗体 让用户对程序作出一定的配置或某种选择,如打印对话框。 用来显示一些信息,如关于对话框,用来描述应用程序的名称和版权信息。,14,(2)

9、对话框分类 模态对话框 在该对话框关闭之前,用户不能对程序的其他部分进行操作。 非模态对话框 在该对话框关闭之前,用户可以对程序的其他部分进行操作。,15,(3)窗体的常用方法 Show 用来显示一个已经装入内存的窗体。 例如,Form2.Show() 显示窗体Form2 Hide 用来隐藏显示在屏幕上的窗体。 ShowDialog() As DialogResult 将窗体显示为一个模态对话框。,16,11.3 标准对话框,Visual Basic提供了一些内置的对话框,这些对话框提供了大多数的Windows应用程序中常见的标准对话框。,17,11.3.1常用的对话框控件,(1)OpenFi

10、leDialog控件 打开文件 Filter属性:用来过滤文件 例如,值为SYS(*.SYS)|*.SYS 在对话框中只显示后缀名为sys的文件 值为Text(*.Text)*.TXT | EXE(*.EXE) | *.EXE | SYS(*.SYS) | *.SYS限定打开的类型为*.TXT、*.EXE,和*.SYS FileName属性:保存选定的某个文件名(带有完整的路径) ShowDialog方法:显示一个OpenFileDialog对话框可,18,19,(2)SaveFileDialog控件 保存文件,与OpenFileDialog控件不同的属性主要有2个, CreatePrompt

11、属性 用于处理不存在的新文件,如果该属性的值为True,则在用户指定的文件不存在时询问用户是否建立新文件,默认该值为False,即不询问用户。 OverwritePrompt属性 用于处理已经存在的文件、如果该属性的值为True则在用户指定的文件已经存在时询问用户是否覆盖文件,如果该值为False,则不询问用户。,20,21,其他控件,(3)ColorDialog控件 创建一个标准的Windows颜色设置对话框,它支持几百万种颜色。 (4)FontDialog 控件 字体设置。,22,23,11.3.2 创建消息对话框,消息对话框,简称消息框(MessageBox),用来在应用程序运行时将提示

12、、警告和错误等信息及时通知用户,并等待用户回应。,24,消息框中显示的按钮,25,Show方法,显示消息框: Overloads Public Shared Function Show(ByVal text As String, ByVal caption As String, ByVal buttons As MessageBoxButtons, ByVal icon As MessageBoxIcon) As DialogResult 参数含义: Text:要显示的信息,该参数是必需的。 Caption:显示在消息框的标题栏中的字符串,可选参数 Buttons:指定在消息框中的可用按钮。

13、Icon:指定显示在消息框中的可用图标。,26,11.3.3 输入对话框,(1)作用 用来获得用户的输入,用户输入文字或单击按钮,然后返回包含文本框内容的字符串。,27,(2)InputBox函数,用来显示该对话框: Function InputBox(ByVal Prompt As String, Optional ByVal Title As String = “, Optional _ ByVal DefaultResponse As String = “, Optional ByVal XPos As Integer = -1, _ Optional ByVal YPos As Int

14、eger = -1 ) As String,28,参数含义,Prompt:参数必选。显示在对话框中的消息。 Title:可选参数。显示在对话框标题栏中。如果省略 Title,则将应用程序名放在标题栏中 DefaultResponse:可选参数,显示在文本框中的 String 表达式,在没有提供其他输入时作为默认响应。 XPos为可选参数,指定对话框的左边与屏幕左边的距离。省略时水平居中。 YPos可选参数,指定对话框的上边与屏幕上边的距离。如果时在屏幕垂直方向距下边缘大约三分之一处。,29,11.5 窗体,(1)窗体分类 1)单文档窗体 每次只能在窗体中打开一个画面,如Windows的记事本程

15、序; 2)多文档窗体 指一次能打开多个画面的窗体,如Microsoft Word。,30,(2)窗体名,窗体的默认名分别是form1,Form2,form3,依次类推。,31,(3)窗体的常用属性,Name属性:更改窗体的名字 Text属性:决定了窗体标题栏显示的内容。,32,(4)向该项目中加入第二个窗体,“项目”菜单|选择“添加Windows窗体“将弹出添加新项的对话框,33,11.6 多文档(MDI)程序,一个MDI程序至少需要用到2个窗体。 一个作为容器,称为父窗体 另一个作为模板 在MDI程序中可以同时打开多个文档,每个文档用一个单独的窗体显示。每一个这样单独的窗体称为一个子窗体。一

16、般而言,所有的子窗体是类似的,使用窗体模板来创建。,34,例11-2 创建一个MDI程序,要求 创建一个MDI程序,能够同时打开多幅图片 分析 在MDI程序中,有一个窗体称为父窗体,欲使一个窗体成为父窗体,要将窗体的IsMdiContainer属性设置为True。,35,步骤,(1)新建项目MDI。 (2)向窗体添加一个MainMenu和一个OpenFileDialog控件 (3)编辑MainMenu,它的顶层具有2项,文件和窗口。文件菜单下有2项,分别是打开和退出 窗口菜单下有3项,分别是水平平铺,垂直平铺和层叠 (4)将窗体的IsMdiContainer属性设置为True。 (5)将窗体的

17、Name属性和Text属性均改为MDIDemo。在解决方案资源管理器中打开项目的属性,更改启动项设置。,36,(6)创建子窗体的模板 从“项目”菜单中选择添加Windows窗体,将出现添加新项的对话框,在模板中选择Windows窗体,在名称一栏中填入一个合适的名字后按下打开按钮,新的窗体将被加入到项目中。 (7)在新窗体中 将AutoScroll属性改为True 添加一个PictureBox控件,并将SizeMode属性设置为AutoSize。 (8)添加文件菜单下的打开项的Click事件过程,37,(9)在代码窗口顶部选择OpenFileDialog控件同时选择它的FileOk事件过程,将在

18、此编写显示图片的代码。 (10)为窗口的菜单下3项,水平平铺,垂直平铺和层叠添加Click事件过程。 (11)为退出菜单项添加Click事件过程。,38,选中当前的窗体,它将成为父窗体或是容纳子窗体的容器。欲使它成为容器,需要将窗体的IsMdiContainer属性设置为True。此时,窗体的背景色变为深灰色。最后将窗体的Name属性和Text属性均改为MDIDemo。在解决方案资源管理器中打开项目的属性,更改启动项设置。设计好的窗体如下图所示:,将一个窗体设置为容器,39,添加新项,40,程序代码,Private Sub MnuOpen_Click(ByVal sender As Syste

19、m.Object, ByVal e As _ System.EventArgs) Handles MnuOpen.Click OpenFileDialog.ShowDialog() End Sub,41,Private Sub OpenFileDialog_FileOk(ByVal sender As Object, ByVal e As _ System.ComponentModel.CancelEventArgs) Handles OpenFileDialog.FileOk Dim frmChild As New Child() frmChild.MdiParent = Me frmChi

20、ld.PictureBox.Image = Image.FromFile(OpenFileDialog.FileName) frmChild.Show() End Sub,42,Private Sub MnuExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MnuExit.Click Me.Close() End Sub,43,Private Sub MnuWinH_Click(ByVal sender As System.Object, ByVal e _ As System.EventArgs) Handles MnuWinH.Click Me.LayoutMdi(MdiLayout.TileHorizontal) End Sub,44,Private Sub MnuWinV_Click(ByVal sender As Object, ByVal e _ As System.EventArgs) Handles MnuWinV.Click Me.LayoutMdi(MdiLayout.TileVertical) End Sub,45,运行结果,46,窗口层叠效果,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1