应用程序接口设计及代码编写_第1页
应用程序接口设计及代码编写_第2页
应用程序接口设计及代码编写_第3页
应用程序接口设计及代码编写_第4页
应用程序接口设计及代码编写_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

应用程序接口设计及代码编写,一、简单的计算器应用程序任务,任务概述界面布局界面设计代码设计计算器应用程序分析,二、可视化界面设计基础,(一)可视化界面设计概述 1、VB应用程序的窗体设计通常分为三种: (1)单窗体:一个应用程序中只包含一个窗体。 (2)多窗体:一个应用程序中包含多个窗体。 (3)MDI窗体:是一种特殊的多窗体界面,由一个父窗体和众多的子窗体组成。 2、使窗体界面美观的基本原则: (1)窗体上的颜色不要过多,否则不易读。 (2)若设计多色彩的窗体界面,应尽量采用同一色系的颜色。如:蓝、淡蓝等 (3)不要试图在一个窗体上放置过多的信息。 (4)尽可能以清晰简明的方式设计窗体。 (5)使用适当的颜色、图片来增加窗体的趣味性是必要的,但要适度。 (6)界面元素应尽可能一致。即设计时应抛弃使用所有控件的想法。,(二)多窗体设计 1、添加窗体 工程添加窗体 2、设置启动窗体 (1) 启动窗体:应用程序开始运行时首先出现的窗体称为。默认情况下,创建的第一个窗体为启动窗体。应用程序的执行入口并非必须是某个窗体。 (2)通过“工程工程1属性”,3、窗体的装载和卸载 (1)Load语句 Load(装载)语句用于把窗体或其他对象装入内存,但不管显示。 即Load Form2等效于Form2.Visible=False 注:当使用窗体的Show方法时,VB程序会自动装载窗体,然后才显示该窗体,此时隐含地使用了Load装载语句。 (2)Unload语句 该语句可以把窗体或其他对象从内存中卸载。 注:对于单窗体应用程序而言 Unload form1 等效于 End,4、多窗体应用程序设计的一般步骤 (1)添加应用程序所需的所有的窗体、模块。 (2)设置起始窗体,以及多窗体间的调用关系。 (3)按单窗体设计方法设计每个窗体。,(三)MDI多文档窗体的设计 多文档窗体(MDI)时可以同时进行多个文档操作的界面。它允许用户同时打开多个文档,每个文档显示在自己的窗口中,用户可以随意在各个文档渐进性来回切换。目前大多数软件都采用这种界面,比如Microsoft Word. MDI界面由一个父窗体和多个子窗体组成。父窗体是所有子窗体的容器。 1、MDI父窗体 一个VB工程中只能由一个MDI父窗体,创建的方法是: (1)打开或新建一个工程,单击“工程”菜单中的“添加MDI窗体”命令。 (2)再弹出的“添加MDI窗体”对话框中双击“MDI窗体”图标。 (3)这时就会出现一个默认名称为MDIForm1的新窗体。 2、MDI子窗体 父窗体创建完成后,我们可以通过“工程”菜单添加若干标准窗体,然后将这些标准窗体的MDIChild属性值设置为True,该窗体便成为工程中的MDI子窗体了。,3、MDI子窗体的显示方法 (1)静态显示方法 是通过在设计应用程序时添加多个窗体来完成的。假设程序中允许用户在MDI父窗体上最多同时打开三个窗体,那么设计时只要添加三个子窗体,在MDI父窗体中通过Show命令显示即可。 (2)动态显示方法 静态显示方法对设计者来说比较灵活,但最大的缺点是浪费系统资源。当所有子窗体具有相同特征时,就可以采用动态显示方法了。 动态显示方法只需要设计一个子窗体,比如Form1,然后通过以步骤就可以实现多子窗体显示了。 dim mynewform as new form1 mynewform.show4、MDI界面实例 例如 P62,(四)窗体的运行模式 1、模态和非模态显示窗体 模态窗体占用整个应用程序的控制。在模态窗体显示状态下,只有关闭该窗体,用户才能与其他窗体进行交互,继续操作应用程序的其他部分。通常用来显示重要信息。 如:frmAbout.Show 1 也可以写成:frmAbout Show vbModel 非模态窗体也称常态窗体,用户在跟此窗体进行交互式,还可以切换到其他窗体。 如:Form2.Show 或写成: Form2.Show 0 或 Form2.Show VbModeless (1)非模态显示窗体的例子 例 P63 (2)模态显示窗体的例子 例 P63.2 2、最前端显示窗体,三、可视化界面高级设计,菜单设计框架、单选钮和复选框控件列表框控件组合框控件工具栏、状态栏和图标列表控件通用对话框控件其他常用控件,(一)菜单设计 1、菜单的基本属性和事件 属性:Caption、Name、Index、Enabled、Visible、Check、ShortCut等 事件:Click事件 2、下拉菜单的基本创建方法 3、设置分割条的方法 标题(Caption)属性为减号,即“-” 4、设置访问件和快捷键的方法 (&) 5、弹出式菜单的创建方法 首先顶级菜单设置为隐藏,然后利用PopupMenu方法显示弹出式菜单 例如 P66,(二)框架、单选钮和复选框控件 1、框架控件 主要属性:Caption 其他属性和事件方法补偿使用 2、单选钮和复选框控件 (1)单选钮(OptionButton) 主要属性:Value 为True,被选中;为False,没被选中,一组中只被选中一个。 (2)复选框(CheckBox) 主要属性:Value 为0:为被选中;1:选中;2:禁用复选框 例如:P67 请大家自己做,(三)列表框控件 如果我们希望用户仅仅通过鼠标选择,而不用使用键盘输入相关信息时,就需要使用列表框(ListBox)控件了。 例如P68,自己试一试 1、 常用属性 List:用来返回或设置控件的列表部分所包含的项目。List1(0)、List1(1) ListIndex:用来设置或返回控件中当前选定项目的索引。其值为0、1、2,若为-1,则未选定项目 List1.List(List1.ListIndex) Text:用来直接返回当前选定项目的文本。List1.Text=List1.List(List1.ListIndex) ListCount: 返回列表框中的项目总数目。,2、常用方法 AddItem :用来添加新项目 格式:List1.AddItem 字符串 RemoveItem:删除列表框中的项目。如:List1.RemoveItem 0 或者 List1.RemoveItem “计算机应用专业” Clear:用来删除列表中的所有项目。,3、常用方法 Click事件:,(四)组合框控件 可以将组合框(ComboBox)控件理解为文本框和列表框控件的功能结合体。有了这个控件,用户既可以从列表中选择项目,也可以在需要时输入项目。 组合框主要包括List,ListIndex,Text,ListCount属性和AddItem方法,它们的用法与列表框控件相同。 另外,组合框最重要的一个属性是Style ,它有0,1,2三个可选值。 例如:P70 自己试一试,(五)工具栏ToolBar、状态栏StatusBar和图标列表ImageLIst控件 1、添加控件的方法 通过“工程-部件”菜单项进行添加,在部件对话窗中选择“Microsoft Windows Common Controls 6.0”,后单击“应用”按钮。 2、使用实例 例如:P72 随老师一起操作 (1)添加控件。 (2)设置ImageList控件。在ImageLIst1上击右键 (3)设置ToolBar控件。在ToolBar1上击右键 (4)设置StatusBar控件。在StatusBar上击右键 (5)添加事件代码。,(六)通用对话框控件 经常可以见到打开(Open)、保存(Save)、颜色(Color)、字体(Font)、打印(Print)等对话框。 如果希望我们所设计的应用程序也具有这种对话框,就可以使用通用对话框(CommonDialog)控件了。 首先在部件选择对话窗中选择“Microsoft Common Dialog Control 6.0”复选框,将通用对话框控件添加到工具箱中。该控件在设计阶段时可以看到的,但在运行时是不可见的。 ShowOpen、ShowSave、ShowColor、ShowPrinter、ShowFont、ShowHelp 例如:P75,(七)其他常用控件水平滚动条(HScrollBar)垂直滚动条(VScrollBar),四、代码设计基础,变量的声明基本数据类型变量初始值变量的作用域变量的生命周期常量运算符和表达式常用函数流程控制语句,(一)变量的声明 1、显式声明 语法结构: dim 变量名 as 数据类型 如:dim myresult as double 2、隐性声明 VB允许在使用变量前不使用dim语句进行事先定义,而由VB自动将变量声明为变体型(Variant类型),这种方式称为隐性声明。注意:为避免使用隐性声明方法,可以在应用程序的模块声明部分,加入Option Explicit语句,使VB的变量在使用前必须进行强制声明,否则就无法编译执行。,(二)基本数据类型,(三)变量初始值 任何变量在被声明后均会有一个初始值。一般情况下: 数值型变量的初始值为0 字符串变量初始值为空字符串,即“” 变体型变量初始值为空值,即Null值 布尔型的初始值为假,即False,(四)变量的作用域 1、过程级变量 是指在过程内部声明的变量。只有在该过程中的代码才能访问这个变量,该变量不能用于程序的其他部分,建议使用Dim关键字来声明。 2、窗体级和模块级变量 是指在窗体或模块的代码声明段用Dim或Private 声明的变量,其作用范围是整个模块或窗体。即在窗体或模块中的所有过程中,都可以使用这些变量,当离开了这个模块或窗体,此变量就不起作用了。为了增加可读性,建议使用Private关键字声明。 3、全局变量 在整个应用程序中有效,一般在模块代码编辑器的顶部使用Public声明。注意:在窗体中已可以使用Public声明全局变量,工程中的其他窗体可以使用“窗体名.变量名”的格式,看到并访问该变量。,(五)变量的生命周期 是指能够保存变量值的时间。 1、过程级变量 只有在过程执行期才存在。 注意:当使用Static关键字来声明局部变量时,则该变量的生命周期是应用程序的整个运行期,即在该过程执行结束时,系统并不是房改变量的内存空间,而是继续保留其值。语法结构是: Static 变量名 as 数据类型 2、模块级、窗体级和全局变量 这些变量的生命周期是程序的运行期,不必使用Static关键字进行声明。 例如:P81,(六)常量 是在程序运行过程中其值保持不变的量,通常分为直接常量和符号常量两大类。 1、直接常量: 字符串常量:用双引号括起来的一串字符。如:123 数值常量:整数、长整数、定点数、浮点数和字节数。 布尔常量:True和False 日期常量:用两个“#”符号把日期和时间的值括起来。如:#3/16/2003# 2、符号常量分为内部(系统定义)常量和符号(用户定义)常量。 (1)系统内部常量由VB应用程序和控件提供。如:颜色常量vbGreen(绿色)、 vbRed(红色)等 例:将窗体背景设为绿色,可使用以下语句: Form1.BackColor=vbGreen(运行后显示效果) (2)定义符号常量的一般语法是: Public|Private Const 变量名 as 数据类型 =表达式 例如:Public Const Pi As Double=3.1415926,(七)运算符和表达式 1、算术运算符 - * / Mod + - 2、关系运算符 (或= 25 Then MsgBox it is hotEnd Sub,IfThenEnd If,语法规则If 条件式 Then 程序段End If,IfThenEnd If 语句实例,Private Sub Command1_Click()Dim test As Integertest = InputBox(please input an integer!)If test 10 Then Print test10 test = test * 2 Print now test=, testEnd IfEnd Sub,IfThenElse,语法规则If 条件式 Then 程序段1Else 程序段2End If,IfThenElse 语句实例,Private Sub Command1_Click()Dim test As Integertest = InputBox(please input an integer!)If test 10 Then Print test10Else Print test 30 Then Print test30ElseIf test 20 Then Print test20ElseIf test 10 Then Print test10Else Print test=10End IfEnd Sub,Select Case,语法规则Select Case 测试表达式 Case 表达式1 程序段1 Case 表达式2 程序段2 Case Else 默认程序段End Select,Select Case语句实例,Private Sub Command1_Click()Dim ageage = Val(InputBox(How old are you?)Select Case age Case 1 To 12 MsgBox you are a child Case 13 To 19 MsgBox you are a teenager Case 20 To 150 MsgBox you are an adult Case Else MsgBox It is impossible!End SelectEnd Sub,循环结构,循环是一组重复执行的指令,重复次数由条件决定ForNext语句DoLoop语句,ForNext语句,主要用于执行循环次数确定的循环语法规则For 循环变量 = 初值 To 终值 Step 步长 程序段 Exit ForNext 循环变量,ForNext语句实例,Private Sub Command1_Click()For i = 1 To 10 Step 1Print iNext iEnd Sub,Private Sub Command1_Click() Dim Sum As Integer Sum=0 For i=1 to 10 Sum=Sum+i Next i Text1.Text=SumEnd Sub,ForNext语句实例,DoLoop语句,当循环次数无法预先确定时,可以使用DoLoop语句,它有两种格式,DoLoop语句,当型循环(先判断,后执行)Do While|Until 条件式 程序段(一组语句) If 条件式 Then Exit Do 程序段Loop,当型循环 Do While语句实例,Private Sub Command1_Click()Dim Sum As Integer Dim i As Integeri = 1Do While i 10 Sum=Sum+i i = i + 1Loop Text1.Text=SumEnd Sub,DoLoop语句,直到型循环(先执行,后判断,至少执行一次)Do 程序段(一组语句) If 条件式 Then Exit Do 程序段Loop While|Until 条件式,直到型循环 Do While语句实例,Private Sub Command1_Click() Dim Sum As Integer Dim i As Integer i = 1 Do Sum=Sum+i i = i + 1 Loop While i 10 Text1.Text=SumEnd Sub,注意:1、当循环还没有结束时,可使用该语句强 制程序退出循环体。在DO While循环中,可以通过Exit Do语句退出循环。在For Next循环中可以使用Exit For强行退出循环。2、退出循环语句一般要与判断语句一同使用。3、编写循环语句时,一定要事先检查是否有结束该循环的条件,否则就会出现“死循环”。一定要避免出现“死循环”现象。,常见交互式函数_ Print 方法,Print 方法用于在窗体、立即窗体、图片框、打印机等对象中显示文本字符串和表达式的值。Print 方法的格式与功能与BASIC语言中的Print语句类似。格式:. Print 表达式表 , | ; Print方法具有计算和输出双重功能,原则为先计算后输出。在一般情况下,每执行一次Print方法后就要自动换行。如果在Print方法末尾加上逗号或分号,下一条语句可以在同一行继续显示。,常见交互式函数_ Print 方法,参数说明:“对象名称”可以是窗体(Form)、立即窗体(Debug)、图片框(PictureBox)或打印机(Printer)等对象。如果省略“对象名称”表示默认为在当前窗体中输出。“表达式表”是一个或多个表达式,可以是算术表达、关系表达式、布尔表达式或字符串表达式。如果省略“表达式表”,则输出一个空行。 , | ; 表示多个表达式可以用逗号、分号和空格分开,其中以逗号分隔表示各表达式间用标准输出格式(分区输出格式)输出数据,即每隔14列为一个打印区,每个打印区中显示一个表达式的值;以分号和空格分隔表示各表达式间按照紧凑格式输出数据,字符串间连续输出,数值间空一个格,数值为负数则符号位为“-”,否则为空。在Print方法中可以将逗号和分号混合使用。,其它说明,当文本出现在窗体中时,文本成为窗体背景的一部分如果输出的字符串比窗体或图片框的宽度还要长,超出的部分会自动被截断如果要用Print方法在单行上显示多个不同的项目,可以用分号或逗号分开如果把分号或逗号放在一条语句的最后,则下一条Print语句将输出在同一行上Print语句中可以有表达式计算,Print 方法中常用的函数,.Tab函数格式:Tab(n) Tab函数将光标移动到由数值表达式n所指定的位置(列号),从这个位置(列号)开始输出以后数据。要输出的数据放在Tab函数之后,并以分号分隔。 .Spc函数格式:Spc(n) Spc函数用于显示指定数量的空格。 .Space$函数格式:Space$(n) Space$函数返回n个空格。,Print 方法实例,Private Sub Form_Activate() Print aa; bb, cc, dd; ee; ff Print 12; 34; 56, 78, 90; -11; 22; -33 Print Print xx Print 7 2, Print EndEnd Sub,Print 方法实例,Private Sub Form_Activate() Print 1234567890123456789012345678901234567890 Print 学号;Tab(10);姓名; Tab(20);性别; Print Tab(30);成绩 Print 001;Tab(10);张军; Tab(20);男;Tab(30);98Print 012;Tab(10);徐薇;

温馨提示

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

评论

0/150

提交评论