最新北京电大VisualBasic程序设计第3章应用程序接口设计及代码编写PPT课件

上传人:桔**** 文档编号:571320589 上传时间:2024-08-10 格式:PPT 页数:154 大小:1.31MB
返回 下载 相关 举报
最新北京电大VisualBasic程序设计第3章应用程序接口设计及代码编写PPT课件_第1页
第1页 / 共154页
最新北京电大VisualBasic程序设计第3章应用程序接口设计及代码编写PPT课件_第2页
第2页 / 共154页
最新北京电大VisualBasic程序设计第3章应用程序接口设计及代码编写PPT课件_第3页
第3页 / 共154页
最新北京电大VisualBasic程序设计第3章应用程序接口设计及代码编写PPT课件_第4页
第4页 / 共154页
最新北京电大VisualBasic程序设计第3章应用程序接口设计及代码编写PPT课件_第5页
第5页 / 共154页
点击查看更多>>
资源描述

《最新北京电大VisualBasic程序设计第3章应用程序接口设计及代码编写PPT课件》由会员分享,可在线阅读,更多相关《最新北京电大VisualBasic程序设计第3章应用程序接口设计及代码编写PPT课件(154页珍藏版)》请在金锄头文库上搜索。

1、北京电大北京电大VisualBasic程序程序设计第设计第3章应用程序接口设章应用程序接口设计及代码编写计及代码编写第三讲应用程序接口设计及代码编写帮助:关于窗体3.1.2界面布局命令按钮控件文本框:txtResult框架Frame控件文本框:txtFirst文本框:txtSecond文本框:txtLabel标题及图标不允许最大化3.1.3界面设计0新创建一个“标准EXE”工程1设置窗体属性2放置框架控件3放置命令按钮控件4放置文本框控件5设计菜单3.1.4代码设计1窗体的窗体的Load事件事件Private Sub Form_Load() txtFirst.Text = txtSecond.

2、Text = txtLabel.Text = End Sub2数字区的命令按钮的数字区的命令按钮的Click事件事件(1)数字“0”按钮 Private Sub Command1_Click()每点击一下该按钮,就在文本框的尾部加字符“0”。 如果txtLabel为空,则说明现在正在输入的是第1个数字; 否则表示输入的是第2个数字; If txtLabel.Text = Then txtFirst.Text = txtFirst.Text + 0 Else txtSecond.Text = txtSecond.Text + 0 End IfEnd Sub (2)数字“1”按钮Private S

3、ub Command3_Click() If txtLabel.Text = Then txtFirst.Text = txtFirst.Text + 1 Else txtSecond.Text = txtSecond.Text + 1 End IfEnd Sub依此可编写数字2至9命令按钮的Click事件代码,请同学们自己完成。 3txtFirst文本框的文本框的Change事件事件 Private Sub txtFirst_Change() 每当txtFirst的内容发生变化时, 将变化结果随时映射到txtResult。 txtResult.Text = txtFirst.Text End

4、 SubTxtSecond文本框的Change事件代码同上。 4正负号(正负号(+/-)命令按钮的)命令按钮的Click事件事件Private Sub Command2_Click() 如果txtLabel为空,则说明现在正在输入的是第1个数字; 否则表示当前正在输入的是第2个数字。 首先用Val函数将txtFirst.Text转换为数字,然后再乘以-1; If txtLabel.Text = Then txtFirst.Text = -1 * Val(txtFirst.Text) Else txtSecond.Text = -1 * Val(txtSecond.Text) End IfEnd

5、 Sub 5加、减、乘、除命令按钮的加、减、乘、除命令按钮的Click事件事件以“加、减”命令按钮为例,其他请同学们自己完成Private Sub Command15_Click() txtLabel.Text = 加End SubPrivate Sub Command16_Click() txtLabel.Text = 减End Sub 6“计算结果计算结果”命令按钮的命令按钮的Click事件事件Private Sub Command17_Click()Dim MyResult As Double 定义一个Double类型的变量。 Select Case txtLabel.Text 以txt

6、Label.Text的值为多重分支条件 Case 加 当txtLabel.Text的值为“加”时 MyResult = Val(txtFirst.Text) + Val(txtSecond.Text) Case 减 当txtLabel.Text的值为“减”时 MyResult = Val(txtFirst.Text) - Val(txtSecond.Text) Case 乘 当txtLabel.Text的值为“乘”时 MyResult = Val(txtFirst.Text) * Val(txtSecond.Text) Case 除 当txtLabel.Text的值为“除”时 MyResult

7、 = Val(txtFirst.Text) / Val(txtSecond.Text) End Select txtLabel.Text = 将txtLabel、txtSecond清空 txtSecond.Text = txtResult.Text = MyResult 将计算结果显示 txtFirst.Text = txtResult.Text 将计算结果做为第1个数字,以便继续运算。End Sub7“清空清空”命令按钮的命令按钮的Click事件事件如果四则运算完成,希望继续进行另一个表达式的四则运算工作,则点击此按钮,完成以下工作: txtFirst.Text = txtLabel.Tex

8、t = txtSecond.Text = 8“帮助帮助”菜单的调用菜单的调用事先通过VB集成开发环境“工程添加窗体”菜单,使用“关于”对话框模板创建一个“关于”窗体(缺省名为frmAbout)。然后在计算器应用程序的“帮助关于”子菜单的Click事件中加入以下代码: frmAbout.Show 1 在Show命令后加参数1, 表示以模态方式显示frmAbout窗体。 9“退出退出”命令按钮的命令按钮的Click事件事件 通过Unload Me命令结束应用程序。 程序演示及分析3.2可视化界面设计基础与“加法”程序相比,本程序的特点是:在界面设计方面,用到的控件种类、数量均增加了许多,窗体的设计

9、精细了许多,应用程序具有两个窗体。控件间的联系比较紧密,比如数字区按钮的Click事件,会影响txtFirst和txtSecond文本框的Text属性值;而txtFirst控件的Text属性值的变化会进而影响txtResult。程序代码的结构开始有点复杂,比如用到了IFTHEN之类的条件判断结构。3.2.1可视化界面设计概述VB可视化程序设计包括两部分内容:一是进行用户界面的设计;二是编写程序代码。由于用户是通过界面与应用程序进行对话的,而程序代码相对于用户又是隐藏的,从用户角度看,界面就是应用程序1、窗体对象(Form)。窗体就是应用程序的对外接口,是其他控件的载体和容器。(1)单窗体:一个

10、应用程序中只包含一个窗体。(2)多窗体:一个应用程序中包含多个窗体(3)MDI窗体:是一种特殊的多窗体界面,有一个父窗体和众多的子窗体组成。2、美观的窗体界面还是有些基本原则(1)不要使窗体上的颜色过多,否则不易读。(2)如果要设计多色彩的窗体界面,那么应当尽量采用同一色系的颜色,比如兰、淡兰等。(3)不要试图在一个窗体上放置过多的信息。(4)尽可能以清晰简明的方式设计窗体。(5)使用适当的颜色、图片来保持窗体的趣味性是必须,但要适度。(6)界面元素应尽可能一致性。VB提供了众多的控件,但在设计时应当抛弃使用所有控件的想法,只选择最适合特定应用程序的控件。“简洁、整齐、明确”3.2.2多窗体设

11、计1添加窗体2设置启动窗体:Main子过程3窗体的装载和卸载(1)Load语句当使用窗体Show方法时,VB程序会自动装载窗体LoadForm2等效于Form2.Visible=False(2)Unload语句UnloadMe4多窗体应用程序设计的一般步骤(1)添加应用程序所需的所有的窗体、模块。(2)设置起始窗体,以及多窗体间的调用关系。(3)按单窗体设计方法设计每个窗体。3.2.3MDI多文档窗体的设计1MDI父窗体一个VB工程中只能有一个MDI父窗体,创建的方法是:(1)打开或新建一个工程,单击“工程”菜单中的“添加MDI窗体”命令。(2)在弹出的“添加MDI窗体”对话框中双击“MDI”

12、窗体图标。(3)这时就会出现一个默认名称为MDIForm1的新窗体。MDI父 窗 体 有 两 个 非 常 重 要 的 属 性ActiveForm和ActiveControl,其中:ActiveForm属性:返回具有焦点或最后被激活的子窗体。ActiveControl属性:返回活动子窗体上拥有焦点的控件。2MDI子窗体父窗体创建完成后,我们可以通过“工程”菜单添加若干标准窗体,然后将这些标准窗体的MDIChild属性值设置为True,该窗体便成为工程中的MDI子窗体了。在设计时,子窗体和一般窗体看起来没有什么两样,但运行时就会发现,子窗体已被包含在MDI父窗体中了。无论如何拖拉子窗体,也无法使它

13、们摆脱父窗体的束缚。这说明,MDI父窗体是全有子窗体的容器。3MDI子窗体的显示方法VB提供了两种同时显示多个MDI子窗体的方法:静态显示方法和动态显示方法。(1)静态显示方法静态显示方法是通过在设计应用程序时添加多个窗体来完成的。假设程序中允许用户在MDI父窗体上最多同时打开3个窗体,那么设计时只要添加3个子窗体,在MDI父窗体中通过Show命令显示。(2)动态显示方法静态显示方法对设计者来说比较灵活,但最大的缺点是比较浪费系统资源,当所有子窗体具有相同特征时,就可以采用动态显示方法了。动态显示方法不像静态显示方法那样在设计时就添加一大堆子窗体,它只需要设计一个子窗体,比如Form1,然后通

14、过以下步骤就可以实现多子窗体显示了。DimMyNewFormAsNewForm1MyNewForm.ShowMDI窗体示例MDI窗体示例PrivateSubm1_Click()当点击“新建”菜单时执行以下语句DimMyNewFormAsNewForm1MyNewForm.ShowEndSubPrivateSubm2_Click()对子窗体进行排列MDIForm1.Arrange0EndSubArrange的主要参数的主要参数符号常数符号常数对应的数对应的数值值含义含义VbCascade0各子窗体层叠排列各子窗体层叠排列VbTileHorizontal1各子窗体水平排列各子窗体水平排列VbTil

15、eVertical2各子窗体垂直排列各子窗体垂直排列VbArrangeIcons3子窗体最小化后重排图标子窗体最小化后重排图标3.2.4窗体的运行模式1模态显示窗体frmAbout.Show1当然也可以写成:frmAbout.ShowVbModal2非模态显示窗体Form2.Show或者写成:Form2.Show0Form2.ShowVbModeless模态和非模态显示例子(1)非模态显示窗体的例子PrivateSubCommand1_Click()Form2.ShowMsgBox“你打开了Form2窗体!”EndSub(2)模态显示窗体的例子PrivateSubCommand1_Click(

16、)Form2.Show1MsgBox“你打开了Form2窗体!”EndSub2最前端显示窗体永远显示在所有窗体之上(TopMost),这种显示方式称为最前端显示。可以通过Windows的API函数SetWindowPos来实现这一功能3ToolWindow窗体VB集成环境中的“工具箱”窗口就是一种典型的ToolWindow窗体最简单的方法则是将窗体的BorderStyle属性设置为3或4。ToolWindow窗体与SetWindowPos函数一同使用,可以实现VB“工具箱”窗口显示效果,请同学动手试一式。3.3可视化界面高级设计组合框组合框框架框架复选框复选框单选钮单选钮列表框列表框图标列表图

17、标列表工具栏工具栏状态栏状态栏TabStrip通用对话框通用对话框3.3.1菜单设计1菜单的基本属性和事件菜单的主要标题(Caption)、名称(Name)、索引(Index)、有效(Enabled)、可见(Visible)、复选(Check)和快捷键(ShortCut)等属性菜单控件中只包含一个事件,即Click事件菜单的基本组成分隔条访问键快捷键2下拉菜单的基本创建方法新建一个窗体,利用菜单编辑器设计各菜单项。利用代码编辑器窗口编写每个菜单项的Click事件过程。3设置分隔条的方法分隔条是一种特殊的菜单项。它与其他菜单项的主要区别是,标题(Caption)属性为减号,即“-”4设置访问键和

18、快捷键的方法访问键:一般在标题中,通过“&”符合和相应的字母设置,此字母的下方就会出现一下划线。用户可以通过Alt+字母来选择此项。快捷键:快捷键将显示在菜单项标题的右边,可以大大提高选择菜单命令的速度,可通过“菜单编辑器”进行设置。5弹出式菜单的创建方法首先利用菜单编辑器建立菜单,方法与前面介绍的下拉式菜单创建方法一样。利用窗体的PopupMenu方法显示弹出式菜单。利用菜单编辑器制作菜单演示菜单项目菜单标题菜单标题菜单名称菜单名称菜单级别菜单级别文件(&F)MnuFile主菜单项新建(&N)MnuNew子菜单项打开(&O)mnuOpen子菜单项-mnusep子菜单项退出(&X)mnuExi

19、t子菜单项运行界面创建方法1)新建一个工程,使用菜单编辑器按下表所示,在Form1上创建一下拉菜单。2)在Form1的MouseDown事件中添加以下代码,则当用户在窗体上点击鼠标右键时,弹出快捷菜单,如下图所示。PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)如果点击的是鼠标右键,则弹出mnuFile菜单IfButton=2ThenPopupMenumnuFileEndIfEndSub3.3.2框架、单选钮和复选框控件1框架(Frame)控件2单选钮(OptionButton)和复选框(C

20、heckBox)控件基本用法复选框:选中状态复选框:选中状态Frame框架框架单选钮:选中单选钮:选中状态状态3.3.3列表框控件(ListBox)文本框文本框列表框列表框1List属性List1.List(0)=计算应用专业List1.List(1)=“软件开发专业”可以用AddItem方法添加2ListIndex属性主要用来设置或返回控件中当前选定项目的索引如果选定第一个项目,则属性值为0,第二个为1,依此类推。若未选定项目,则ListIndex的值为-1List1.List(List1.ListIndex)3Text属性List1.Text的结果与List1.List(List1.Lis

21、tIndex)表达式的结果是完全相同的。4ListCount属性该属性返回列表框中的项目总数目。上例中,List1.ListCount的值为7。5AddItem方法列表框控件最常用的方法是AddItem,主要用来添加新项目,常用的语法是:List1.AddItem字符串6RemoveItem方法该方法主要用来删除列表框中的项目,例如要删除列表框中的第一个项目,则可以使用以下语句:List1.RemoveItem0或者List1.RemoveItem计算应用专业7Clear方法主要用来删除列表中的所有项目。8Click事件与其他多数控件一样,实际应用中,我们最常用的是List控件的Click和D

22、blClick。3.3.4组合框控件(ComboBox)可以将组合框控件理解为文本框和列表框控件的功能结合体鼠标点击此处后出现下拉列表3.3.5工具栏、状态栏和图标列表控件相信熟悉Windows操作的同学对工具栏(ToolBar)和状态栏(StatusBar)的概念一定不会陌生这两项东西属于界面设计的高级控件,并非用户界面所必须的,但它们却可以使用我们的界面更友好、更快捷。如果与图标列表控件(ImageList)一同使用,我们的界面会更加出色。1添加控件的方法2使用实例工具栏提示文本状态栏代码PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComct

23、lLib.Button)当用户点击工具栏上的按钮时,在状态栏的第二个窗格显示被点击按钮的名称参数Button表示当前被点击的按钮,其类型为按钮对象状态栏的第二个窗格的值用Panels(2).Text表示StatusBar1.Panels(2).Text=你刚才点击的按钮是+Button.Caption+EndSub3.3.6通用对话框控件(CommonDialog)在Windows应用程序中,我们经常可以见到打开(Open)、保存(Save)、颜色(Color)、字体(Font)、打印(Print)等对话框VB利用本控件完成上述功能在部件对话框中选择“MicrosoftCommonDialog

24、Control6.0”复选框,将通用对话框控件添加到工具箱中。该控件在设计阶段是可以看到的,但在运行时是不可见的。1“打开”对话框PrivateSubCommand1_Click()设置对话框的标题设置对话框的标题CommonDialog1.DialogTitle=打开文件打开文件设置文件过滤器设置文件过滤器CommonDialog1.Filter=所有文件所有文件|*.*|文本文件文本文件|*.txt设置默认文件类型(设置默认文件类型(2表示文本文件表示文本文件*.txt)CommonDialog1.FilterIndex=2显示显示“打开打开”对话框对话框CommonDialog1.Sho

25、wOpen显示选择的文件名(全路径名)显示选择的文件名(全路径名)MsgBox你刚才选择的文件名是:你刚才选择的文件名是:+CommonDialog1.FileNameEndSub2“另存为”对话框Private Sub Command1_Click()设置对话框的标题CommonDialog1.DialogTitle = 打开文件设置文件过滤器CommonDialog1.Filter = 所有文件|*.*|文本文件|*.txt设置默认文件类型(2表示文本文件*.txt)CommonDialog1.FilterIndex = 2显示“另存为”对话框 CommonDialog1.ShowSave

26、显示刚才输入的文件名(全路径名)MsgBox 你刚才输入的文件名是:+CommonDialog1.FileNameEnd Sub 3“颜色”对话框Private Sub Command1_Click()设置颜色窗体的形状,有1、2、4、8等四个常用, 请同学们自己试一试CommonDialog1.Flags = 1显示“颜色”对话框 CommonDialog1.ShowColor根据选择的颜色,改变文本框的前景色Text1.ForeColor = CommonDialog1.ColorEnd Sub 此外,还可以通过ShowPrinter、ShowFont和ShowHelp方法显示打印、字体和

27、帮助对话框,它们的用法请同学们自己通过VB联机帮忙学习3.3.7其他常用控件当界面上的控件太多时,可以使用TabStrip控件将它们分组布置当需要显示安装进度、程序执行进度时,可以使用ProgressBar控件当希望制作类似于Windows资源管理器式的菜单时,可以使用TreeView控件水平滚动条(HScrollBar)和垂直滚动条控件(VscrollBar)也可能会经常用到3.4代码设计基础而VB的代码就像一条线,将这些图形界面元素串在一起,从而可以使窗体、控件通过事件驱动机制连接为一个有机整体3.4.1变量的声明DimMyResultAsDouble数据类型数据类型变量名变量名1显式声明

28、Dim变量名As数据类型2隐性声明VB允许在使用变量前不使用Dim语句进行事先定义,而由VB自动将变量声明为变体型(Variant类型),这种方式称为隐性声明隐性声明方法为书写程序提供了较多的灵活性,但也会降低了程序的执行效率,特别是可读性。当把一个变量声明为Variant类型时,这个变量可以用来存储各种数据。但是由此也会带来内存空间消耗量的增大,也容易出现数据运算问题。因此,最好对每个变量都进行显式声明为了避免使用隐性声明方法,我们可以在应用程序的模块声明部分,加入OptionExplicit语句,使VB的变量在使用前必须进行强制声明,否则就无法编译执行。3.4.2基本数据类型数据类型数据类

29、型含义含义数据范围数据范围Integer整型整型-3276832767Long长整型长整型-21474836482147483647Single单精度浮点型单精度浮点型Double双精度浮点型双精度浮点型Currency货币型货币型Byte字节型字节型0255String字符串型字符串型Boolean布尔型布尔型Date日期型日期型Variant变体型变体型Object对象型对象型实例Private Sub Command1_Click() Dim MyInteger As Integer 声明一个整型变量 Dim MyString As String 声明一个变长的字符型变量 Dim MyS

30、tring As String*10 声明一个长度固定的字符型变量 Dim MyBoolean As Boolean 声明一个布尔变量 Dim MyVariant As Variant 声明一个变体型变量 End SubPrivate Sub Command1_Click() Dim MyText As New TextBox 声明一个类型为文本框的变量 Set MyText = Text1 将控件Text1的值赋给对象变量MyText MyText.Caption = 你好! 改变对象变量MyText的标题End SubPrivateSubCommand1_Click()DimMyObjec

31、tAsControl声明控件变量声明控件变量SetMyObject=Form1.Text1将将Form1的的Text1控件赋给对象变量控件赋给对象变量MyObject.Text=你好!你好!改变对象变量的标题改变对象变量的标题SetMyObject=Form1.Command1MyObject.Caption=确定确定EndSub3.4.3变量初始值数值型变量的初始值为0字符串变量初始值为空字符串,即“”,变体型变量初始值为空值,即Null值布尔型的初值为假,即False。当空值的变体变量在表达式中参加运算时,系统会根据实际情况将其解释为0或空字符串。3.4.4变量的作用域变量的作用域是从空间

32、角度去分析变量属性的。它规定了变量在应用程序中的使用范围,即在什么范围内是可见的(Visible)、有效的(Enabled)。1过程级变量过程级变量是指在过程内部声明的变量。只有在该过程中的代码才能访问这个变量,不能用于程序的其他部分,建议使用Dim关键字来声明2窗体级和模块级变量窗体级变量是指在窗体或模块的代码声明段用Dim或Private声明的变量,其作用范围是整个模块或窗体。即在窗体或模块中的所有过程中,都可以共同使用这些变量,当离开了这个模块或窗体,此变量就不起作用了。为了增加可读性,建议使用Private关键字声明3全局变量全局变量在整个应用程序中有效,一般在模块代码编辑器的顶部使用

33、Public声明3.4.5变量的生命周期所谓变量的生命周期,是指能够保存变量值的时间。如果说变量的作用域是从空间角度来看待变量的,那么生命周期则是从变量存在的时间上来理解的。1过程级变量用Dim声明的过程级变量,只有在过程执行期才存在。当过程执行结束时(EndSub),这些变量的值也将从内存中释放。直到下一次调用该过程时,才重新给该变量分配一个储存空间,重新赋值,开始一个新的生命周期但当使用Static关键字来声明局部变量时,则该变量的生命周期是应用程序的整个运行期,即在该过程执行结束时,系统并不释放该变量的内存空间,继续保留其值。语法结构是:Static变量名As数据类型2模块级、窗体级和全

34、局变量这些变量的生命周期是程序的运行期,不必使用Static关键字进行声明以两个窗体的调用进行演示Form2中定义一个窗体级变量jForm2的Load事件中:j=j+13.4.6常量PublicConstPIAsDouble=3.1415926在应用程序的任何地方出现的表达式I=Pi*25,等价于I=3.1415926*25。3.4.7运算符和表达式VB中有四种类型的运算符算术运算符字符串连接符关系运算符逻辑运行符1算术运算符VB中主要有8个算术运算符,按优先级别的高低顺序分别是:(1)指数运算符:。(2)取负:-。(3)乘法*、除法/(4)整除:(5)取模(取余):Mod(6)加+、减-2关

35、系运算符VB中有6种关系运算符大于()、小于()、等于(=)、不等于(或=)、小于等于(=)。它们的优先级相同,按自左向右顺序运算,即用于对字符串或数值型数据的比较分析3逻辑运算符VB提供了以下6个逻辑运算符,按优先顺序排列如下:(1)逻辑非:Not(2)逻辑与And(3)逻辑或or(4)逻辑异或:Xor(5)等价:Eqv(6)蕴含:Imp4字符串连接符主要有+和&两个符号,它们的运算结果基本相同3.4.8常用函数1数值型函数绝对值函数(Abs)平方根函数(Sqr)幂指函数(Exp)十六进制函数(Hex)八进制函数(Oct)取整函数(Fix)四舍五入函数(Cint)最大整数函数(Int)随机数

36、函数Rnd以及Sin、Cos、Tan、Atn等三角函数2字符串函数(1)Len(x)返回x代表的字符串的长度。(2)Trim(x)去掉字符串x前面的空格。(3)Left(x,n)返回字符串x从左边算起n个长度的字符序列。(4)Right(x,n)返回字符串x从右向左的n个字符序列。(5)Mid(x,n,m)返回字符串从左边第n个字符开始m个长度的字符序列。(6)Str(x)将数值型数据x转化为字符串。这个函数的返回值总会在前头保留一个空格,因此多数情况下与Trim函数结合使用,去掉首部空格。(7)Val(x)将数字字符串转化为数值型数据。(8)Chr(x)返回数值x(0255)所对应的Asci

37、i码。比如Chr(13)、Chr(10)分别表示回车、换行。(9)Asc(x)返回字符串x首字符的Ascii码值。(10)UCase(x)和Lcase(x)分别返回大写和小写字符串。3日期函数(1)Date返回当前系统日期(2)Time返回当前系统时间(3)Year(x)返回x表示的日期中的年份。类似的还有Month、Day、WeekDay等。4格式化函数以系统设置的长时间格式返回当前系统时间。MyStr=Format(Time,LongTime)以系统设置的长日期格式返回当前系统日期。MyStr=Format(Date,LongDate)MyStr=Format(MyTime,“h:m:s”

38、)返回 “17:4:23”。MyStr=Format(MyTime,hh:mm:ssAMPM)返回 05:04:23 PM。MyStr=Format(MyDate,dddd,mmmdyyyy)返回Wednesday,Jan271993。MyStr=Format(5459.4,“#,#0。00”) 返回 “5,459.40”。MyStr=Format(334。9, “#0。00”) 返回 “334.90”。MyStr=Format(5,“0。00%”) 返回 “500.00%”。MyStr=Format(HELLO,)返回THISISIT。3.4.9流程控制语句1顺序结构2选择结构3循环结构选择

39、结构(1)IfThenElse语句(2)多重分支语句(SelectCase)循环结构ForNext循环语句DoLoop语句DoWhile条件LoopDoLoopWhile条件DoLoopUntil条件3.5工程化思想及编程风格1命名规则数据类型数据类型前缀前缀数据类型数据类型前缀前缀IntegerintStringstrSinglesngDatedtLongingBytebytDoubledblBooleanblnCurrencycurVariantvnt控件控件前缀前缀控件控件前缀前缀窗体(窗体(Form)frm垂垂直直滚滚动动条条(VscrollBar)vsb标签(标签(Label)lbl

40、定时器(定时器(Timer)tmr文本框(文本框(TextBox)txt驱驱动动器器列列表表(DriveListBox)drv图片框(图片框(PictureBox)pic文文 件件 夹夹 列列 表表 框框(DirListBox)dir框架(框架(Frame)fra文文件件列列表表框框(FileListBox)fil命命令令按按钮钮(CommandButton)cmd形状控件(形状控件(Shape)shp复选框(复选框(CheckBox)chk直线控件(直线控件(Line)lin单单选选钮钮(OptionButton)opt图像框(图像框(Image)img组合框(组合框(ComboBox)cb

41、o数据控件(数据控件(Data)dat列表框(列表框(ListBox)lstOle控件(控件(Ole)ole水水平平滚滚动动条条(HscrollBar)hsb2编程风格(1)注释:Rem或(2)多重语句(3)长语句的分行(4)语句缩进总之人们常说“条条大路通罗马”,利用VB编写应用程序,解决同一个问题,会有多种方法和途径,那么到底哪种是最好的呢?简单地说,体现了工程化思想,有章法的才是较好的。刘世峰本章习题一、单项选择题一、单项选择题1与Load Form2等效的语句是()AForm2.Load BForm2.Visible=FalseCForm2.Show DForm2.Visible=Tr

42、ue2.可通过设置一普通窗体的何种属性,将它转变成MDI子窗体()AMDIChild=True BWindowState=NormalCMDIChild=False DWindowState=Maximized3.可通过何种属性判断List列表控件的项目总数目()AListIndex BListTextCListCount DListItem4.如果未选定项目,那么ComboBox组合框控件的ListIndex属性值是()A0 B1C-1 D随机数5Dim I As Integer,则运行时变量I的初始值是()A0 B1C-1 D空值6执行语句a=5 Mod 2,则a的值是()A0 B1 C2

43、 D2.5 7执行语句执行语句a=52,b=5/2,则,则a、b的值分别是()的值分别是()A2、2.5 B1、2C2.5、2 D1、2.58如果仅需要得到当前系统时间,则可以使用哪个函数()ATime BYearCNow DDate9Left(“abcd”,2)函数的返回值是()Aab BbcdCcd Dbc10VB中下列逻辑表达式书写正确的是()Aabc Bab and acCabDa122作业1弹出式菜单设计,运行结果如图1所示。2考试系统程序。利用单选框表示试题选项,框架控件进行分组,MsgBox提示选择结果,运行结果如图2、图3所示。3数制转换程序。在窗体上添加两个文本框控件,在第一

44、个文本框中输入数字,第二个文本框自动显示该数字的十六进制数。利用文本框控件的Change事件和Hex函数完成程序设计。运行结果如图4所示。4时钟程序。利用Now、Time、Year、Month和Day等时钟函数和Timer控件开发,可显示当前系统的年、月、日和时间,其中Timer控件的Interval属性为1000,每秒钟执行一次。运行结果如图5所示。5排序程序。本程序主要练习列表框和循环语句的用法,利用文本框、列表框以及循环语句开发“冒泡”排序程序,运行结果如图6所示。程序的基本逻辑是:(1)在文本框Text1中输入一个数字,然后点击“添加”按钮,使用列表框控件的AddItem方法,将该数字

45、添加到列表框控件List1中。依此添加若干数字。(2)点击“排序”按钮,通过循环结构对List1控件中的项目进行排序,将结果添加到List2中。本讲结束!第二单元第二单元 界面代码设计与语言技巧:界面代码设计与语言技巧:第三章:应用程序接口设计及代码编写第三章:应用程序接口设计及代码编写 学习目标:通过实例分析完成可视化界面设计、学习目标:通过实例分析完成可视化界面设计、掌握变量与常量的概念及用法;学会对运算符及流掌握变量与常量的概念及用法;学会对运算符及流程控制语句和常用函数的使用,系统地掌握程控制语句和常用函数的使用,系统地掌握VBVB编程编程的一般方法及相关知识。的一般方法及相关知识。

46、重点内容:重点内容:1 1、可视化界面设计、变量和、可视化界面设计、变量和常量的常量的 使用;使用; 2 2、运算符及流程控制语句的使用;、运算符及流程控制语句的使用; 3 3、常用函数的使用。、常用函数的使用。难点内容:多窗体设计、通用对话框控件的使用。难点内容:多窗体设计、通用对话框控件的使用。一、创建一个简单计算器应用程序一、创建一个简单计算器应用程序 界面P52图3.1,创建工程-窗体Form1,属性Caption设置为计算器;4个文本框(TextBox):TextResult(显示结果文本框) TextFirst(显示第一个数字文本框) TextLabel(显示运行符文本框) Tex

47、tSecond(显示第二个数字文本框);二个框架(Fram)属性Caption分别为数字区、功能区数字区、功能区;在数字区内建11个命令按钮,属性Caption分别为7 7、8 8、9 9、4 4、5 5、6 6、1 1、2 2、3 3、0 0、+/-+/- ;在功能区内建6个命令按钮属性Caption分别为加、减、乘、除、加、减、乘、除、计算结果、清空计算结果、清空;最后一个命令按钮属性Caption为退出退出;设计菜单(图3.4)。 进入程序进入程序 编写代码如下: 1 1、窗体的、窗体的LoadLoad事件事件 Private Sub Form-Load ()Private Sub Fo

48、rm-Load () TextFirst.Text = “” TextFirst.Text = “” TextSecond.Tex = “” TextSecond.Tex = “” TextLabel.Text = “” TextLabel.Text = “” End Sub End Sub2 2 、数字区的命令按钮的、数字区的命令按钮的ClickClick事件事件(1)、数字“0”按钮Private Sub Command1- Click () If TextLabel.Text = “” Then TextFirst.Text = TextFirst.Text + “0” Else Tex

49、tSecond.Tex = TextSecond.Tex + “0” End ifEnd Sub(2)、数字“1”按钮Private Sub Command3- Click () If TextLabel.Text = “” Then TextFirst.Text=TextFirst.Text + “1” Else TextSecond.Tex=TextSecond.Tex + “1” End ifEnd Sub(3)、数字“2”按钮 Private Sub Command4- Click () If TextLabel.Text = “” Then TextFirst.Text = Text

50、First.Text + “2” Else TextSecond.Tex = TextSecond.Tex + “2” End ifEnd Sub(4)、数字“3”按钮 Private Sub Command5- Click () If TextLabel.Text = “” Then TextFirst.Text=TextFirst.Text + “3” Else TextSecond.Tex=TextSecond.Tex + “3” End ifEnd Sub(5)、数字“4”按钮Private Sub Command6- Click () If TextLabel.Text = “” T

51、hen TextFirst.Text = TextFirst.Text + “4” Else TextSecond.Tex = TextSecond.Tex + “4” End ifEnd Sub(6)、数字“5”按钮Private Sub Command7- Click () If TextLabel.Text = “” Then TextFirst.Text = TextFirst.Text + “5” Else TextSecond.Tex = TextSecond.Tex + “5” End ifEnd Sub(7)、数字“6”按钮Private Sub Command8- Click

52、 () If TextLabel.Text = “” Then TextFirst.Text = TextFirst.Text + “6” Else TextSecond.Tex = TextSecond.Tex + “6” End ifEnd Sub(8)、数字“7”按钮Private Sub Command9- Click () If TextLabel.Text = “” Then TextFirst.Text = TextFirst.Text + “7” Else TextSecond.Tex = TextSecond.Tex + “7” End ifEnd Sub(9)、数字“8”按

53、钮Private Sub Command10- Click () If TextLabel.Text = “” Then TextFirst.Text = TextFirst.Text + “8” Else TextSecond.Tex = TextSecond.Tex + “8” End ifEnd Sub(10)、数字“9”按钮Private Sub Command11- Click () If TextLabel.Text = “” Then TextFirst.Text = TextFirst.Text + “9” Else TextSecond.Tex = TextSecond.Te

54、x + “9” End ifEnd Sub3 3、TextFirstTextFirst文本框的文本框的ChangeChange事件事件 Private Sub TextFirst-Change () TextResult.Text = TextFirst.Text End Sub4 4、TextSecondTextSecond文本框的文本框的ChangeChange事件事件 Private Sub TextSecond-Change () TextResult.Text = TextSecond End Sub5 5、正正负负号号(+/-+/-)命命令令按按钮钮的的ChangeChange事事

55、件件 Private Sub Command2- Click () If TextLabel.Text = “” Then TextFirst.Text=-1* Val(TextFirst.Text) Else TextSecond.Text=1*val(TextSecond.Text) End ifEnd Sub6 6、加、减、乘、除命令按钮的、加、减、乘、除命令按钮的Click Click 事件事件Private Sub Command12- Click() TextLabel.Text = “加”End SubPrivate Sub Command13- Click() TextLabe

56、l.Text = “减”End SubPrivate Sub Command14- Click() TextLabel.Text = “乘”End SubPrivate Sub Command15- Click() TextLabel.Text = “除”End Sub7 7、计算结果命令按钮的、计算结果命令按钮的Click Click 事件事件Private Sub Command16- Click () Dim MyResult As Double Select Case TextLabel.Text Case “加” MyResult=Val(TextFirst.Text)+ Val(T

57、extSecond.Text) Case “减” MyResult=Val(TextFirst.Text)- Val(TextSecond.Text) Case “乘” MyResult=Val(TextFirst.Text)* Val(TextSecond.Text) Case “除” MyResult=Val(TextFirst.Text) / Val(TextSecond.Text) End Select TextLabel.Text = “” TextSecond.Text = “” TextResult.Text = MyResult TextFirst.Text = TextRes

58、ult.TextEnd Sub8 8、清空命令按钮的、清空命令按钮的Click Click 事件事件 Private Sub Command17- Click() TextFirst.Text = “” TextLabel.Text = “” TextSecond.Text = “” End Sub9 9、退出命令按钮的退出命令按钮的Click Click 事件事件Private Sub Command18- Click() Unload MeEnd Sub1010、帮助菜单的调用、帮助菜单的调用 frmAbout.Show 1问问题题思思考考:完完成成本本题的关键是什么?题的关键是什么?二、

59、可视化界面的设计:二、可视化界面的设计: VB可视化程序设计包括:用户界面的设计;编写代码程序。窗体是应用程序的对外接口,是其他控 件 的 载 体 和 容 器 , 窗 体 设 计 通 常 可 分 为 : 单窗体(一个应用程序中只包含一个窗体)设计;多窗体(一个应用程序中包含多个窗体)设计;MDI窗体(多文档窗体,由一个父窗体和众多子窗体组成)设计。1 1、多窗体的设计、多窗体的设计: 添加窗体设置启动窗体 窗体的装载与卸载 添加应用程序所需的所有的窗体模块,设置启动窗体及多窗体之间的调用,按单窗体设计方法设计每个窗体。 窗体的装载与卸载语句:Load语句(即把窗体或其他对象装入内存);UnLo

60、ad语句(即把窗体或其他对象内存中卸载)。2 2、MDIMDI(多文档窗体)的设计:(多文档窗体)的设计: 首先创建父窗体 创建子窗体 MDI父窗体的两个重要属性是:ActiveForm(返回具 有 焦 点 或 最 后 被 激 活 的 子 窗 体 ); ActiveControl(返回活动子窗体上拥有焦点的控件) 实例见P62图3.9三、可视化界面的高级设计:三、可视化界面的高级设计:1 1、菜单(、菜单(MenuMenu)设计)设计: : 分为下拉式菜单、弹出式菜单两种。菜单控件中只包含一个事件即单击(Click)事件,练习实验书P24-P28的操作并写出报告(请参阅乌海电大在线: 中有关内

61、容)2 2、几个基本控件的使用:、几个基本控件的使用: 框框架架(FramFram)、单单选选钮钮(OptionButtonOptionButton)、复复选选框框(CheckBoxCheckBox)、列列表表框框(ListBoxListBox)、组组合合框框(ComboBoxComboBox)、工工具具栏栏(ToolBarToolBar)、状状态态栏栏(StatusBarStatusBar)、图图标标列列表表(LmagListLmagList)、通通用用对对话话框框(CommonDialogControlsCommonDialogControls)等等控控件件. .在使用时这里要注意它们的主

62、要属性、方法、事件。四、代码设计基础:四、代码设计基础:1 1、变量的声明:、变量的声明: 变变量量是程序运行期间其值可以变化的量,变量在使用前必须要先声明。声明分为:显示声明和隐性声明。 显示声明基本语句结构是:Dim变量名 As 数据类型。 隐性声明是由VB自动将变量声明为变体形。2 2、基本数据类型:、基本数据类型:见书P78表3.3 变量的作用域为:过程级变量;窗体级与模块级变量(用Dim或Private声明);全局变量(用Public声明)3 3、常量:、常量: 在程序运行过程中其值保持不变的量,通常可分为符号常量和文字常量两大类。 符号常量的一般语法是:Const变量名As 数据类

63、型= 表达式4 4、运算符和表达式:、运算符和表达式: 算术运算符;关系运算符;逻辑运算符;字符串连接符。(要注意它们的优先级别的高低 )5 5、常用函数:、常用函数: 数值型函数;字符串函数;日期函数;格式化函数。(注意它们的意义与返回值)6 6、流程控制语句:、流程控制语句: 顺序结构(最简单、最基本的结构,执行时按语句在程序中的先后顺序依次执行); 选择结构(或称为分支结构,有if语句和 Select Case语句);循环结构(有For语句和Do语句).例例如如:判断从文本框Text1中输入的数据,若该数据满足条件:除以3余2、除以5余3、除以7余4,则输出;否则将焦点定位在文本框Tex

64、t1中,选种文本框中文本。程序如下:Private Sub Command-Click () X = Val (Text1.Text) If x mod 3=2 And x mod 5=3 And x mod 7 = 4 Then Print x Else Text1.setFocusText1.setFocus Text1.setFocus = 0 Text1.setFocus = 0 Text1.selLength = Len(Text1.Text) Text1.selLength = Len(Text1.Text) End if End if End Sub End Sub 进入程序进入程序例如例如:有关For.Next语句的程序简例Private Sub Command-Click () I = 0 For g = 10 to 19 Step 3 I = I+1 Next g Print IEnd Sub 进入程序进入程序( (注意:工程化思想与编程风格注意:工程化思想与编程风格) ) 请同学们探讨本章有疑惑的问题并将问题发到将问题发到 或到乌海电或到乌海电大在线讨论区进行讨论。大在线讨论区进行讨论。 本章结束本章结束 ?结束语结束语谢谢大家聆听!谢谢大家聆听!154

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号