1 / 203

Visual Basic 程序设计

Visual Basic 程序设计. 第 3 章 应用程序接口设计 及代码编写. 3.1 简单的计算器应用程序设计任务 2.1.1 任务描述 仿照 Windows 操作系统自带的计算器程序,设计一个计算器,完成加、减、乘、除四则运算。运行界面如图所示。. 主要执行逻辑. 1. 输入第一个数字。当单击数字区的数字时,文本框中将显示相应的数字,并能进行正负数变换。 2. 输入四则运算符。当第一个数字输入完成后,可单击功能区的加、减、乘、除四则运算符。 3. 输入第二个数字。当单击了某个运算符后,再单击数字区的数字时,文本框中将显示第二个数字。. 主要执行逻辑.

Download Presentation

Visual Basic 程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual Basic程序设计 第3章 应用程序接口设计 及代码编写

  2. 3.1 简单的计算器应用程序设计任务 2.1.1 任务描述 仿照Windows操作系统自带的计算器程序,设计一个计算器,完成加、减、乘、除四则运算。运行界面如图所示。

  3. 主要执行逻辑 1. 输入第一个数字。当单击数字区的数字时,文本框中将显示相应的数字,并能进行正负数变换。 2.输入四则运算符。当第一个数字输入完成后,可单击功能区的加、减、乘、除四则运算符。 3.输入第二个数字。当单击了某个运算符后,再单击数字区的数字时,文本框中将显示第二个数字。

  4. 主要执行逻辑 4. 进行计算。上述三步完成后,单击“计算结果”按钮,将在文本框中显示四则运算的结果。 5.重复计算。可在第四步的基础上,返回到第2步继续进行四则运算,或者单击“清空”按钮并返回第1步,开始新的四则运算过程。 6.菜单操作。当单击“帮助”中的“关于”菜单项时,弹出“帮助”窗体。 7.退出系统。单击“退出”按钮结束程序。

  5. 3.1.2 界面布局

  6. 3.1.3 界面设计 创建一个“标准EXE”工程。 1.设置窗体属性 Caption——”计算器“ MaxButton——False 2. 框架控件 Caption——分别为“数字区”和“功能区” 3. 放置命令按钮

  7. 4. 放置文本框按钮 txtResult——显示四则运算结果。 txtFirst——存储四则运算的第一个数字。 txtSecond——存储四则运算的第二个数字。 txtLabel——存储四则运算符。 txtFirst、txtSecond、txtLabel文本框的Visible属性设置为False。

  8. 5. 设计菜单 在VB集成环境中通过“工具—菜单编辑器”打开“菜单编辑器”。

  9. 3.1.4 代码设计 窗体的Load事件 Private Sub Form_Load() txtFirst.Text = "" txtSecond.Text = "" txtLabel.Text = "“ txtResult.Text="" End Sub

  10. 3.1.4 代码设计 (1)数字“0”按钮 Private Sub Command1_Click() '每单击一一下该按钮,就在文本框的尾部加字符“0” '如果txtLabel为空,则说明现在正在输入的是第一个数字 ‘否则表示输入的是第二个数字 If txtLabel.Text = "" Then txtFirst.Text = txtFirst.Text + "0" Else txtSecond.Text = txtSecond.Text + "0" End If End Sub

  11. 3.1.4 代码设计 (2)数字“1”按钮 Private Sub Command3_Click() If txtLabel.Text = "" Then txtFirst.Text = txtFirst.Text + "1" Else txtSecond.Text = txtSecond.Text + "1" End If End Sub

  12. 3.1.4 代码设计 (3)数字“2”按钮 Private Sub Command4_Click() If txtLabel.Text = "" Then txtFirst.Text = txtFirst.Text + "2" Else txtSecond.Text = txtSecond.Text + "2" End If End Sub

  13. 3.1.4 代码设计 (4)数字“3”按钮 Private Sub Command5_Click() If txtLabel.Text = "" Then txtFirst.Text = txtFirst.Text + "3" Else txtSecond.Text = txtSecond.Text + "3" End If End Sub

  14. 3.1.4 代码设计 (5)数字“4”按钮 Private Sub Command6_Click() If txtLabel.Text = "" Then txtFirst.Text = txtFirst.Text + "4" Else txtSecond.Text = txtSecond.Text + "4" End If End Sub

  15. 3.1.4 代码设计 (6)数字“5”按钮 Private Sub Command7_Click() If txtLabel.Text = "" Then txtFirst.Text = txtFirst.Text + "5" Else txtSecond.Text = txtSecond.Text + "5" End If End Sub

  16. 3.1.4 代码设计 (7)数字“6”按钮 Private Sub Command8_Click() If txtLabel.Text = "" Then txtFirst.Text = txtFirst.Text + "6" Else txtSecond.Text = txtSecond.Text + "6" End If End Sub

  17. 3.1.4 代码设计 (8)数字“7”按钮 Private Sub Command9_Click() If txtLabel.Text = "" Then txtFirst.Text = txtFirst.Text + "7" Else txtSecond.Text = txtSecond.Text + "7" End If End Sub

  18. 3.1.4 代码设计 (9)数字“8”按钮 Private Sub Command10_Click() If txtLabel.Text = "" Then txtFirst.Text = txtFirst.Text + "8" Else txtSecond.Text = txtSecond.Text + "8" End If End Sub

  19. 3.1.4 代码设计 (10)数字“9”按钮 Private Sub Command11_Click() If txtLabel.Text = "" Then txtFirst.Text = txtFirst.Text + "9" Else txtSecond.Text = txtSecond.Text + "9" End If End Sub

  20. 3.1.4 代码设计 3. txtFirst文本框的Change事件 'txtFirst文本框的Change事件 Private Sub txtFirst_Change() '每当txtFirst的内容发生变化时,将变化结果随时映射到txtResult txtResult.Text = txtFirst.Text End Sub

  21. 3.1.4 代码设计 txtSecond文本框的Change事件 Private Sub txtSecond_Change() '每当txtSecond的内容发生变化时,将变化结果随时映射到txtResult txtResult.Text = txtSecond.Text End Sub

  22. 3.1.4 代码设计 4. 正符号(±)命令按钮的Click事件 Private Sub Command2_Click() '如果txtLabel为空,则说明现在正在输入的是第一个数字 '否则表示当前正这输入的是第二个数字 '转换语句的主要含义是:首先用Val函数将txtFirst.Text转换为数字 '然后再乘以-1 If txtLabel.Text = "" Then txtFirst.Text = -1 * Val(txtFirst.Text) Else txtSecond.Text = -1 * Val(txtSecond.Text) End If End Sub

  23. 3.1.4 代码设计 5. “+”、”-”、”×”、”÷”命令按钮的Click事件 '“+”命令按钮的Click事件 Private Sub Command15_Click() txtLabel.Text = "+" End Sub '“-”命令按钮的Click事件 Private Sub Command16_Click() txtLabel.Text = "-" End Sub

  24. 3.1.4 代码设计 5. “+”、”-”、”×”、”÷”命令按钮的Click事件 '“×”命令按钮的Click事件 Private Sub Command12_Click() txtLabel.Text = "×" End Sub '“÷”命令按钮的Click事件 Private Sub Command13_Click() txtLabel.Text = "÷" End Sub

  25. 6. “计算结果”(即“=”号)命令按钮的Click事件 Private Sub Command17_Click() '定义一个Double类型的变量 Dim MyResult As Double '以txtLable.Text的值为多重分支条件 Select Case txtLabel.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 = Val(txtFirst.Text) / Val(txtSecond.Text) End Select txtResult.Text = MyResult '显示计算结果 End Sub

  26. 3.1.4 代码设计 7. ”清空“命令按钮的Click事件 '如果四则运算完成,希望进行另一表达式的四则运算 '则单击此按钮 Private Sub Command14_Click() txtFirst.Text = "" txtLabel.Text = "" txtSecond.Text = "" txtResult.Text = "" End Sub

  27. 3.1.4 代码设计 8. ”帮助“菜单的调用 '事先通过VB集成开发环境”工程-添加窗体“菜单 '使用”关于“对话框模板创建一个关于窗体(名为frmAbout) '然后完成计算机应用程序的”帮助-关于”子菜单的Click事件代码 Private Sub About_Click() frmAbout.Show 1 End Sub 9. 退出命令按钮的Click事件 Private Sub Command18_Click() End End Sub

  28. 3.1.5 计算机应用程序分析 上述计算器应用程序的特点: (1)在界面设计方面,用到的控件种类、数量多,窗体的设计精细了许多,应用程序有两个窗体。 (2)控件间的联系比较密切,比如数字区按钮的Click事件,会影响txtFirst和txtSecond文本框的Text属性值,而txtFirst控件的属性会进一步影响txtResult。 (3)程序代码的结果开始有点复杂,比如用到了IF……THEN之类的条件判断结构。

  29. 3.2 可视化界面设计基础 3.2.1 可视化界面设计概述 VB可视化程序设计包括两部分内容: • 用户界面设计 • 编写程序代码 界面是应用程序最重要的组成部分。一个好的应用程序应具有友好的用户接口界面。而窗体是应用程序的对外接口,是其它控件的载体和容器。

  30. VB应用程序的窗体有三种: • 单窗体:一个应用程序只包含一个窗体。 • 多窗体:一个应用程序包含多个窗体。 • MDI窗体:是一种特殊的多窗体界面。有一个父窗体和众多的子窗体构成。

  31. 设计美观的窗体界面的一些基本原则: • 窗体的颜色不要过多,否则不易读。 • 如果要设计多彩色的窗体界面,那么应当尽量同一色系的颜色,比如蓝、淡蓝等。 • 不要试图在一个窗体上放置过多的信息。 • 尽可能以清晰简明的方式设计窗体。 • 使用适当的颜色、图片来增加窗体的趣味是必要的,但要适度。 • 界面元素应尽可能一致,只选择最适合特定应用程序的控件。

  32. 习题 P94 二、 2. 是应用程序的对外窗口,是其它控件和载体的容器。 答案:窗体

  33. 3.2.2 多窗体设计 当应用程序的功能比较复杂时,就需要添加多个窗体来实现程序功能。这就是多窗体设计。 1. 添加窗体 一般通过“工程-添加窗体”菜单完成。

  34. 2. 设置启动窗体 每个应用程序都有开始执行的入口。应用程序开始运行时首先出现的窗体称为启动窗体。在默认的情况下,创建的第一个窗体为启动窗体。如果想在应用程序启动时首先启动别的窗体,那么就得修改启动窗体的设置了。

  35. 利用“工程属性”对话框设置启动窗体

  36. 让程序首先执行一个子过程,通过该子过程加载显示窗体。让程序首先执行一个子过程,通过该子过程加载显示窗体。 Main子过程是标准模块中的一个子过程。可以通过“工程-添加模块”菜单创建一个标准模块,然后在其中输入代码。

  37. 习题 P94 二、 3. 每个应用程序都有开始执行的入口,在VB中这种窗体称为。 答案:启动窗体

  38. 3. 窗体的装载与卸载 (1)Load语句 Load语句用于把窗体或其它对象装入内存。 当执行装载窗体命令时,应用程序首先把窗体属性设置为初始值,然后再触发Load事件。一旦窗体装载,不管它是否可见,它的属性及控件就可以被程序调用。 当使用窗体的Show方法时,VB程序会自动装载窗体,然后才显示该窗体,此时隐含使用了Load语句。

  39. 习题 P93 一、 1. 与Load.Form2等效的语句是( ) A. Form2.Load B. Form2.Visible=False C. Form2.Show D. Form2.Visible=True 答案:C

  40. 3. 窗体的装载与卸载 (2)UnLoad语句 该语句可以把窗体或其它对象从内存中卸载,在单窗体和多窗体应用程序中均会使用这条语句,并且在卸载窗体时将会触发UnLoad事件。 对单窗体应用程序而言,以下语句是等效的: UnLoad Form1 等效于 End 如果是在Form1上执行UnLoad语句,则可以直接写成: UnLoad Me

  41. 习题 P94 二、 4. 如果要将窗体对象从内存中卸载,可使用 语句。 答案:Unload

  42. 4. 多窗体应用程序设计的一般步骤 (1)添加应用程序所需要的窗体、模块。 (2)设置起始窗体,以及多窗体间的调用关系。 (3)按单窗体设计方法设计每个窗体。

  43. 3.2.3 MDI多文档窗体的设计 多文档窗体(MDI)是可以同时进行多文档操作的界面。它运行同时运行多个文档 ,每个文档显示在自己的窗口中,用户可以随意在各个文档间进行切换。目前大多数软件都采用这种界面,比如Microsoft Word。 MDI界面由一个父窗体和多个子窗体组成。子窗体的活动范围只能限制在父窗体内。父窗体为应用程序中的所有子窗体提供操作空间,并负责管理各个子窗体的操作,是所有子窗体的容器。

  44. 1. MDI 父窗体 一个VB工程中只能有一个MDI父窗体,创建的方法是: (1)打开或新建一个工程,单击“工程”菜单中的“添加MDI窗体”命令。 (2)在弹出的“添加MDI窗体”对话框中双击“添加MDI窗体”图标。 (3)这时就会出现一个默认名称为MDIForm1的新窗体。

  45. 2. MDI子窗体 父窗体创建完成以后,我们可以通过“工程”菜单添加若干标准窗体,然后将这些窗体的MDIChild属性设置为True,该窗体就成为工程中的子窗体了。 子窗体和一般窗体看起来没有什么两样,但运行时子窗体被包含在父窗体中。无论如何拖动子窗体,也无法使它们摆脱父窗体的束缚,即MDI父窗体是所有子窗体的容器。

  46. 习题 P93 一、 2. 可通过设置一普通窗体的何种属性,将它变换为MDI子窗体?( ) A. MDIChile=True B. WindowsState=Normal C. MDIChile=False D. WindowsState=Maximizel 答案:A

  47. 3. MDI子窗体的显示方法 ——静态显示方法和动态显示方法 (1)静态显示方法 静态显示方法是通过在设计应用程序时添加多个窗体来完成的。假设程序中允许用户在父窗体上同时打开三个窗体,那么设计时只要添加三个子窗体,在MDI父窗体中通过Show命令显示即可。

More Related