顺序结构每一个事件处理过程内部包含3种基本结构:顺序结构、选择结构和循环结构。1赋值语句赋值语句是任何程序设计中最基本的语句。格式变量名=表达式或:[对象名.]属性名=表达式变量名——用户定义的*标识符。默认对象名时——表示对象为窗体。执行过程计算赋值号右边表达式的值,然后将该值赋给*左边的变量或控件的一个属性。例:S=Pai*r*rText1.FontItalic=False说明VB使用赋值号”=”来赋值,“=”号是一个具有二义性的符号:*C=2赋值号A=B=3第一个赋值号,第二个逻辑等号数据一经存入,不会自动消失,直到用新的数据取代为止。例:A=1:B=A‘A赋给B,A的值仍为1*表达式值的类型与变量的相同,赋值相容。否则,表达式值转换成与变量相同的类型再赋值。例:DimXAsInteger,YAsString,ZAsSingleX=-52.85-52Y=“字符型”Z=50Text1.Text=Y’赋值相容,文本框的Text属性是字符型如果变量未被赋值,VB会自动使它们的值等于0。例:Dimm!,A%m=A*3‘结果为0程序中常用N=N+1实现累加。*2数据输入1.InputBox函数(生成一个对话框,让用户输入数据。)格式:InputBox(prompt[,title][,default][,xPos][,yPos])例:r=InputBox(Pleaseenterradius:,InputBoxDemo,0,_100,100)说明InputBox函数返回值是字符(String)型。当要获取数值型数据时,应对被赋值变量作出类型说明:Dimr!r=InputBox(Pleaseenterradius:,_InputBoxDemo,0,100,100)或使用Val函数作类型转换:r=Val(InputBox(Pleaseenterradius:,_InputBoxDemo,0,100,100))函数中参数按顺序排列,若省略某些参数,须加相应的逗号分隔:r=InputBox(Pleaseenterradius:,,,100,100))2.MsgBox函数(接受用户的选择信息,以决定其后的操作*)格式:MsgBox(prompt[,buttons][,title])Buttons确定消息框中按钮的数量和类型、图标样式和默认按钮等。说明Buttons是以参数的形式给MsgBox函数传递信息的。P58表3-9列出了Button参数的设置值及它们的描述。有关使用MsgBox函数常量的详细信息查MSDN的“MsgBoxarguments”(MsgBox参数)文字常数值描述VbOKOnly0只显示(OK)按钮VbYesNo4显示(Yes)、(No)按钮vbExclamation48显示图标!vbDefaultButton2第二个按钮是默认值Button参数设置DimstrMsgAsStringDimstrTitleAsStringDimlngStyleAsLongDimintResponseAsIntegerstrMsg=Doyouwanttocontinue?lngStyle=vbYesNo+vbExclamation+vbDefaultButton2strTitle=MsgBoxDemonstrationintResponse=MsgBox(strMsg,lngStyle,strTitle)IfintResponse=vbYes*Then'UserchoseYesbuttonElse'UserchoseNobuttonEndIfMsgBox函数的返回值文字常数值描述vbOK1确定(OK)vbCancel2取消(Cancel)vbAbort3终止(Abort)vbRetry4重试(Retry)vbIgnore5忽略(vbIgnore)vbYes6是(Yes)vbNo7非(No)3.3窗体3.3.1窗体模块*应用程序中的每个窗体都具有相应的窗体模块(带有.frm扩展名),其中包含:窗体和控件的属性设置。以文本格式保存在.frm文件中。窗体层次的变量说明。事件过程和窗体层次的通用过程的程序代码。3.3.2窗体的主要属性※设计时设置属性按住CTRL+SHIFT,同时按属性名第一个字符,可快速查看。/在Properties窗口双击属性名称,可查看该属性值。※运行时设置的属性语法:Object.Property=Expression例:Text1.Text=“Hello”1.设计时和运行时都可设置的属性Caption决定出现在标题栏中的文本。字符型。默认标题为“formX”(X=1,2…)form1.Caption=“CalculatorDisplay”Name在设计时设置窗体名的前缀frm*Font设置窗体上的字体。不影响标题栏中的标题。LeftTopWidthHeight设置窗体的大小和位置。单位是缇(Twip),1/1440英寸。1磅(Point)/20.Left和Top确定窗体左上角的位置。FormLayout窗口中拖动也可设置窗体的位置。BackColorForeColor设置窗体的背景和前景颜色。2.只有设计时才能设置的属性BorderStyle控制窗体边框的外观,是否允许用户缩放窗体或最小化、最大化窗体。如:常量vbFixedDialog,属性设置值为3,可包含Control菜单和标题栏;不能包含Maximize按钮或Minimize按钮。不可以缩放。参见MSDN中的“FormObject”MaxButton和MinButton逻辑型。决定是否显示最大化最小化按钮。BorferStyle属性设置为1、2、或是时才有意义。3.3.3窗体事件主要是用于初始化窗体或做一些收尾工作。Click当用鼠标单击窗体时,调用相应的事件过程.Load☆窗体被加载到内存中时就会发生Load事件。如:使用Show方法或Load方法引用没有被加载的窗体上的控件☆Load事件通常用来初始化窗体。如:为控件指定默认设置、初始化窗体层次的变量。☆Load事件可用来从文件或DB中获取数据。Activate☆只要窗体成为活动窗体,Activate事件就会发生。Load事件发生后,系统会自动产生一个Activate事件。☆Activate事件过程可在窗体中显示输出,而Load事件不行。(p64例3.7)Unload☆窗体从内存中被卸载时发生。(使用了End语句、Close按钮)☆执行顺序:Load→Activate→UnloadShow格式:object.Show[vbModal|vbModeless]*显示窗体。与使用Visible属性为True效果一样。Hide格式:object.Hide使窗体不可见,但仍然保留在内存中。如果要重复使用窗体,Show和Hide隐藏和显示窗体比Load和Unload快。3.3.4窗体方法Print格式:object.Print[表达式[,|;[表达式]…]]说明:对象名可以是Form、PictureBox、printer等。默认时为当前窗口。表达式可以是数值或字符串表达式。例:Printa+b先计算表达式值再输出Print输出一空行Print“abcd”输出字符串要加双引号输出多个表达式用“,”或“;”分隔:“,”14个字符为一个区。“;”紧凑格式。Print方法的有关函数1.Tab函数格式:Tab(n)n表达输出时的起始列数。若省略,Tab将输出点移动到下一个输出区的起点。‘每个Tab函数对应一个输出项,之间用分号分隔。例:Print“Hello”;Tab(20);“World”Print“Hello”;Tab;“World”’World从第二个区2.Spc函数格式:Spc(n)表示输出下一个表达式之前插入的空格数。各输出项之间用分号分隔。例:Print“10spacesbetweenhere”;Spc(10);“andhere”例3:创建一个。1.创建一个登录屏幕作为代款费用估算应用程序的开始。2.为主应用程序窗体加载一个登录窗体,然后显示应用程序的主窗体。控件属性设置当前名称属性新值Label1CaptionTypeyournameandpasswordtologinLabel2Caption&UserNameLabel3Caption&PassordText1TextblankText2TextblankPasswordChar*Command1CaptionOKCommand2CaptionCancelCancelTure*Form1CaptionEnterProgramPasswordBorderStyle1-FixedSingle控件属性设置(续)3.4注释、暂停与程序结束注释语句开始符‘Rem标签Label控件Caption属性Backcolor、Forcolor属性赋值:Label1.Caption=……清除:Label1.Caption=“”Text属性Font属性Password属性Multilane属性赋值:Text1.Text=……清除:Text1.Text=“”文本框Text控件调整控件的布局*查看对象的过程双击该对象图片框Picture控件输出:Picture1.Print清除:Picture1.Cls本节课主要内容窗体的属性和Print方法:Print方法中Tab和Space的用法及;和,用法的区别。Inputbox和Msgbox函数顺序结构编程思路控件:标签、图片框、框架