为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > (完整word版)VB实例源码

(完整word版)VB实例源码

2021-07-24 7页 doc 565KB 182阅读

用户头像 个人认证

is_916672

暂无简介

举报
(完整word版)VB实例源码课前体验PrivateSubForm_Click()Fori=1To10Forj=1ToiPrint"*";NextjPrintNextiEndSub【例3-1】PrivateSubForm_Click()c1$=Chr$(13)+Chr$(10)msg1$="请输入您的名字:"msg2$="输入后按回车键"msg3$="或单击“确定”按钮"msg$=msg1$+c1$+msg2$+c1$+msg3$name$=InputBox(msg$,"InputBox函数示例","张三")Printname$EndSub【例3-2】Pr...
(完整word版)VB实例源码
课前体验PrivateSubForm_Click()Fori=1To10Forj=1ToiPrint"*";NextjPrintNextiEndSub【例3-1】PrivateSubForm_Click()c1$=Chr$(13)+Chr$(10)msg1$="请输入您的名字:"msg2$="输入后按回车键"msg3$="或单击“确定”按钮"msg$=msg1$+c1$+msg2$+c1$+msg3$name$=InputBox(msg$,"InputBox函数示例","张三")Printname$EndSub【例3-2】PrivateSubForm_Click()Msg1$=”AreyouContinueto?”msg2$=”OperationDialogBox”r=MsgBox(msg1$,34,msg2$)PrintrEndSub【例3-3】编写程序,用MsgBox函数判断是否继续执行。PrivateSubForm_Click()msg$="请确认此数据是否正确"Title$="数据检查对话框"x=MsgBox(msg$,19,Title$)Ifx=6ThenPrintx*xElseIfx=7ThenPrint"请重新输入"EndIfEndSub【例3-5】PrivateSubForm_Click()Print:PrintFontName="隶"FontSize=16Print"姓名";Tab(8);"年龄";Tab(16);"职务";PrintTab(24);"单位";Tab(32);"籍贯"1PrintPrint"吴大明";Tab(8);25;Tab(16);"职员";Tab(24);"人事科";Tab(32);"北京"EndSub【例3-6】PrivateSubForm_Click()X=InputBox("请输入成绩","学生成绩录入","00")PrintxEndSub【例3-7】PrivateSubForm_Click()DimxAsSingle,yAsSinglex=InputBox(请“输入x的值”)Ifx>0Theny=1ElseIfx=0Theny=0Elsey=-1Print“x=”;x,”y=”;yEndSub【例3-8】PrivateSubForm_Click()Dimmsg,UserInputmsg="请输入一个字母或0~9之间的数字."UserInput=InputBox(msg)‘输入一个字母或数字IfNotIsNumeric(UserInput)Then‘判断是否是数字IfLen(UserInput)=1Then‘不是数字时,判断输入的字符串长度是否为1SelectCaseAsc(UserInput)‘判断输入字母的ASCII码值Case60To90'在60-90之间为大写字母msg="你输入的是一个大写字母'"msg=msg&Chr(Asc(UserInput))&"'。"Case97To122'小写字母msg="你输入的是一个小写字母'"msg=msg&Chr(Asc(UserInput))&"'。"CaseElsemsg="你没有输入字母或数字."EndSelectEndIfElseSelectCaseVal(UserInput)'将输入的数值型字符转换为数值Case1,3,5,7,9'如果是奇数msg=UserInput&"是一个奇数。"Case0,2,4,6,8'如果是偶数msg=UserInput&"是一个偶数。"CaseElse'出界msg="你输入的数字不在0~9范围内"EndSelectEndIf2MsgBoxmsgEndSub【例3-8】PrivateSubForm_Click()Dimmsg,UserInputmsg="请输入一个字母或0~9之间的数字."UserInput=InputBox(msg)‘输入一个字母或数字IfNotIsNumeric(UserInput)Then‘判断是否是数字IfLen(UserInput)=1Then‘不是数字时,判断输入的字符串长度是否为1SelectCaseAsc(UserInput)‘判断输入字母的ASCII码值Case60To90'在60-90之间为大写字母msg="你输入的是一个大写字母'"msg=msg&Chr(Asc(UserInput))&"'。"Case97To122'小写字母msg="你输入的是一个小写字母'"msg=msg&Chr(Asc(UserInput))&"'。"CaseElsemsg="你没有输入字母或数字."EndSelectEndIfElseSelectCaseVal(UserInput)'将输入的数值型字符转换为数值Case1,3,5,7,9'如果是奇数msg=UserInput&"是一个奇数。"Case0,2,4,6,8'如果是偶数msg=UserInput&"是一个偶数。"CaseElse'出界msg="你输入的数字不在0~9范围内"EndSelectEndIfMsgBoxmsgEndSub【例3-10】SubForm_Click()DimNAsIntegern=InputBox("EnterN:")‘输入N的值k=1Fori=1ToN‘循环N次,计算出N!k=k*INextiPrintN;”!=”;k‘数据输出EndSub【例3-12】3DimS,NS=0:N=0DoWhileS<=100N=N+1S=S+NLoopPrintS,N【例3-13】PrivateSubForm_Click()DimcharAsStringCount=0char=InputBox("请输入一个字符")Whilechar<>"?"Count=Count+1char=InputBox$("请输入一个字符")WendPrint"输入的字符数是:";CountEndSub【例3-14】PrivateSubForm_Click()Print"*";Fori=1To9PrintTab(i*6);i;NextiPrintForj=1To9Printj;Fork=1TojPrintTab(k*6);j*k;"";NextkPrintNextjEndSub第4章课前体验(1)假定用来输入数学成绩的文本框名称为Text1,该文本框的LostFocus事件过程如下:PrivateSubText1_LostFocus()IfVal(Text1.Text)<0OrVal(Text1.Text)>100ThenText1.Text=""Text1.SetFocusEndIfEndSub(2)其他文本框的LostFocus事件类似。4(3)假定按钮名称为Command1,该按钮的Click事件过程如下:PrivateSubCommand1_Click()IfCheck1.Value=1ThenSum=Sum+Val(Text1.Text)IfCheck2.Value=1ThenSum=Sum+Val(Text2.Text)IfCheck3.Value=1ThenSum=Sum+Val(Text3.Text)IfCheck4.Value=1ThenSum=Sum+Val(Text4.Text)IfCheck5.Value=1ThenSum=Sum+Val(Text5.Text)Text6.Text=SumEndSub【例4-1】PrivateSubCommand1_Click()‘在其单击事件中编程Fori=1To6‘外循环,控制输出几行Forj=1Toi‘内循环,控制输出几列Print"*";NextjPrint‘换行NextiEndSub【例4-2】PrivateSubText1_Change()Text2.Text=LCase(Text1.Text)Text3.Text=UCase(Text1.Text)EndSub【例4-3】PrivateSubCheck1_Click()Text1.FontUnderline=NotText1.FontUnderlineEndSubPrivateSubCheck2_Click()Text1.FontItalic=NotText1.FontItalicEndSubPrivateSubOption1_Click()Text1.Font="黑体"EndSubPrivateSubOption2_Click()Text1.Font="宋体"EndSub【例4-4】PrivateSubCommand1_Click()IfOption1ThenText1.FontName="宋体"Else5Text1.FontName="黑体"EndIfIfOption3ThenText1.FontSize=8ElseText1.FontSize=10EndIfEndSubPrivateSubCommand2_Click()EndEndSub【例4-5】PrivateSubForm_Load()‘在窗体的Load事件中输入列框的各个项目lstBooks.AddItem"计算机应用基础"lstBooks.AddItem"操作系统"lstBooks.AddItem"数据结构"lstBooks.AddItem"网络技术基础"EndSubPrivateSubcmdAdd_Click()‘单击添加命令按钮时将文本框中输入的内容添加到列表框中lstBooks.AddItemtxtItemtxtItem=""EndSubPrivateSubcmdDelete_Click()‘删除列表框中选中的项目lstBooks.RemoveItemlstBooks.ListIndexEndSubPrivateSubcmdModify_Click()‘所选项目显示在文本框中,等待修改txtItem.Text=lstBooks.TextcmdAdd.Enabled=FalsecmdDelete.Enabled=FalsecmdModify.Enabled=FalsecmdModify_OK.Enabled=TrueEndSubPrivateSubcmdModify_OK_Click()‘所选项目显示在文本框中修改完成后,按下修改确定按钮,更新列表框内容lstBooks.List(lstBooks.ListIndex)=txtItemcmdModify_OK.Enabled=TruecmdAdd.Enabled=True6cmdDelete.Enabled=TruecmdModify.Enabled=TruetxtItem=""EndSub【例4-6】PrivateSubForm_Click()Picture3.Picture=Picture1.PicturePicture1.Picture=Picture2.PicturePicture2.Picture=Picture3.PicturePciture3.Picture=LoadPicture()‘把第3个图片框设置为空Endsub【例4-7】PrivateSubHScroll1_Change()Text1.Text=HScroll1.ValueEndSub【例4-8】PrivateTimer1_Timer()Labe1.Caption=Time$EndSub实训PrivateSubCommand1_Click()Debug.Print"姓名:";Text1.TextDebug.Print"出生年月:";Text2.TextDebug.Print"籍贯:";Text3.TextIfOption1.ValueThenDebug.Print"性别:";"男"IfOption2.ValueThenDebug.Print"性别:";"女"Debug.Print"民族:";Combo1.TextIfCheck1.Value=1ThenDebug.Print"健康"ElseDebug.Print"不健康"Debug.Print"职称:";Combo3.TextDebug.Print"工资:";Text4.TextDebug.Print"外语熟练程度";HScroll1.ValueDebug.Print"简历:";Text5.TextEndSub第5章课前体验PrivateSubCommand6_Click()Constn=10‘定义常量n的值为10Max=0:K=0‘最高分及所在位置赋初值Fori=1Tonb(i)=InputBox("请输入第"&i&"个同学的成绩",求最高分)‘输入成绩Ifb(i)>MaxThenMax=b(i)K=I‘将第i个成绩与最高分Max相比,如果比最高分高,则保存起来EndIf7NextiPrint"最高分是第"&K&"个同学,其成绩是:"&MaxEndSub【例5-1】OptionBase1PrivateSubCommand1_Click()Dima(3)AsIntegera(1)=1:a(2)=3:a(3)=5Printa(1)Printa(2)Printa(3)EndSub【例5-2】Fori=1To10b(i)=InputBox("请输入第"&i&"个数")Nexti【例5-3】Fori=1To2Forj=1To2b(i,j)=i+jNextjNexti【例5-4】DimS(3,2)AsInteger程序如下:Fori=0To3PrintTab(5);‘输出位置定位Forj=0To2S(i,j)=i*2+j‘给各元素赋值PrintS(i,j);图5-4使用二维数组打印出的图形NextjPrint‘换行Nexti【例5-5】PrivateSubForm_Click()Dims(5)AsInteger'定义数组SConstn=5Fori=1Tons(i)=Val(InputBox("请输入第"<rim$(Str$(i))&"个数",数据排序))‘输入n个数,转换成数值后保存在数组中。NextiFori=1Ton-1‘进行n-1趟比较Max=I‘对第i遍比较时,初始假定第i个元素最小。Forj=i+1Ton‘在数组i~n个元素中选最小元素8Ifs(j)arr(row,col)Thenrow=i:col=jEndIfNextjNexti‘下列程序段输出矩阵及最大值及所在位置10Print"您输入的矩阵是:"PrintFori=1TonPrintTab(8);‘打印位置定位Forj=1TomPrintarr(i,j);NextjPrint‘换行NextiPrintPrint"矩阵中最大值为:";arr(row,col);"其位置在第"&row&"行"col&"列"EndSub第6章课前体验(2)编写窗体装载事件过程:PrivateSubForm_Load()ForI=0To100List1.AddItemiNextiEndSub3)使用“添加过程”对话框创建出判断成绩等级的过程PublicSubDengJi(aAsInteger)SelectCaseaCase0To59Label1.Caption="不及格"Case60To69Label1.Caption="及格"Case70To79Label1.Caption="中等"Case80To89Label1.Caption="良好"Case90To100Label1.Caption="优秀"EndSelectEndSub4)编写列表框单击Click事件过程:PrivateSubList1_Click()DimnAsIntegerN=Val(List1.Text)CallDengJi(n)'调用判断成绩等级的过程EndSub(5)编写命令按钮单击Click事件过程:PrivateSubCommand1_Click()11EndEndSub【例6-1】PrivateSuboushu(xAsInteger,msgAsBoolean)IfxMod2=0ThenMsg=TrueElseMsg=FalseEndIfEndSub【例6-2】PublicFunctionRect(aAsDouble,bAsDouble)AsDoubleRect=a*bEndFunction【例6-3】(2)在窗体代码窗口中编写pingjun过程:Subpingjun(aAsInteger,bAsInteger,cAsInteger)C=(a+b)/2EndSub(3)编写命令按钮1的单击事件过程:PrivateSubCommand1_Click()DimxAsInteger,yAsInteger,zAsIntegerX=Val(Text1.Text)Y=Val(Text2.Text)Callpingjun(x,y,z)'或pingjunx,y,zText3.Text=Str(z)EndSub【例6-4】2)把判断奇偶性的函数过程jo的程序代码输入到窗体代码窗口中。Functionjo(xAsInteger)AsStringIfxMod2=0ThenJo="偶数"ElseJo="奇数"EndIfEndFunction(3)编写命令按钮1的单击事件过程:PrivateSubCommand1_Click()DimnAsInteger,wAsStringn=Val(Text1.Text)w=jo(n)Label1.Caption=Text1.Text&"是"&w&"!"12EndSub【例6-5】(2)编写参数按地址传递次的过程Swap1:SubSwap1(xAsString,yAsString)DimtAsString=x:x=y:y=tEndSub(3)编写命令按钮单击事件过程如下:PrivateSubCommand1_Click()DimaAsString,bAsStringA=Text1.TextB=Text2.TextForm1.Caption="按地址传递"Swap1a,bText1.Text=aText2.Text=bEndSub【例6-7】(2)求任意一维数组中各元素之积的函数如下:Functiontt(a()AsInteger)AsLong'函数的形参是数组Dimt#,i%T=1ForI=LBound(a)ToUBound(a)'求数组的下界和上界T=t*a(i)NextiTt=tEndFunction(3)求任意一维数组中各元素之和的函数如下:Functionss(b()AsInteger)AsLong'函数的形参是数组Dimt#,i%S=0ForI=LBound(b)ToUBound(b)'求数组的下界和上界S=s+b(i)NextiSs=sEndFunction4)编写命令按钮单击事件过程,如下:PrivateSubCommand1_Click()Dima(1To5)AsIntegerDimb(2To10)AsIntegerDimiAsInteger,t1AsLong,s1AsLongForI=1To5'给数组赋值13a(i)=i+3Nextit1=tt(a())'调用函数Print"第一个数组各元素之积t1=";t1ForI=2To10b(i)=i*2Nextis1=ss(b())Print"第二个数组各元素之和s1=";s1EndSub【例6-8】(1)先定义一个具有可选参数的函数过程sum,用来进行3个数的加法运算。PrivateFunctionsum(xAsInteger,OptionalyAsInteger,_OptionalzAsInteger=3)AsIntegerSum=x+y+zEndFunction(2)编写窗体的单击事件过程,如下:PrivateSubForm_Click()Print"sum(1)=1+0+3=";sum(1)'省略两个参数Print"sum(1,2)=1+2+3=";sum(1,2)'省略第3个参数Print"sum(1,,8)=1+0+8=";sum(1,,8)'省略第2个参数Print"sum(1,4,8)=1+4+8=";sum(1,4,8)'不省略参数EndSub【例6-9】(1)先定义一个具有可变参数的函数过程MySum,如下:FunctionMySum(ParamArrayVA())AsInteger'声明为可变参数DimiAsIntegerDimSumAsIntegerSum=0Fori=LBound(VA)ToUBound(VA)'得到数组的大小,并进行循环Sum=Sum+VA(i)NextMySum=SumEndFunction(2)编写窗体的单击事件过程,如下:PrivateSubForm_Click()DimsAsIntegerPrintPrintTab(2);"使用3个实参:";S=MySum(2,4,6)'可以使用任意多个实参来调用Print"MySum(2,4,6)=";sPrintPrintTab(2);"使用5个实参:";14S=MySum(1,2,3,4,5)Print"MySum(1,2,3,4,5)=";sEndSub【例6-10】(1)定义具有窗体参数的过程,如下:PrivateSubBiaoTi(fmAsForm)'fm为窗体对象参数Text1.Text="窗体的标是"&fm.CaptionEndSub调用过程BiaoTi会改变窗体对象fm中的文本框Text1的文本。(2)定义具有控件对象参数的过程,如下:PrivateSubKuanDu(tbAsTextBox)'tb为文本框型的控件对象参数tb.Text="文本框的宽度是"&tb.WidthEndSub调用过程KuanDu会改变文本框对象tb的文本。3)编写按钮的单击事件过程,用来调用具有对象参数的过程。PrivateSubCommand1_Click()CallBiaoTi(Form1)EndSubPrivateSubCommand2_Click()CallKuanDu(Text1)EndSub【例6-11】Functionfac(nAsInteger)AsLongIfn=1ThenFac=1ElseFac=n*fac(n-1)EndIfEndFunction【例6-12】PrivateSubCommand1_Click()DimaAsInteger,bAsInteger'过程级变量A=100:b=8PrintPrint"调用s1前,事件过程中的变量:";"a=";a;"b=";bCalls1'调用通用过程sub1PrintPrint"调用s1后,事件过程中的变量:";"a=";a;"b=";bEndSubSubs1()'通用过程DimaAsInteger,bAsInteger'过程级变量A=55:b=6615PrintPrint"通用过程s1中的变量:";"a=";a;"b=";bEndSub【例6-13】DimaAsInteger,bAsInteger'声明模块级变量PrivateSubCommand1_Click()A=100:b=8'对模块级变量赋值PrintPrint"调用s1前,模块级变量:";"a=";a;"b=";bCalls1'调用通用过程sub1PrintPrint"调用s1后,模块级变量:";"a=";a;"b=";bEndSubSubs1()'通用过程A=55:b=66'对模块级变量赋值PrintPrint"通用过程s1对模块级变量赋值:";"a=";a;"b=";bEndSub【例6-14】(4)在窗体Form1的代码窗口的顶部,声明模块级变量a和b,分别用来储存程序运行后单击左右两个命令按钮的次数。代码如下:PrivateaAsIntegerPrivatebAsInteger(5)编写左边的命令按钮的Command1_Clic事件过程。代码如下:PrivateSubCommand1_Click()DimsAsStringI=I+1A=a+1S="单击按钮"&i&"次,左按钮"&a&"次"MsgBoxs,vbOKOnly,"提示"EndSub(6)编写右边的命令按钮的Command2_Clic事件过程。代码如下:PrivateSubCommand2_Click()DimsAsStringI=I+1B=b+1S="单击按钮"&i&"次,右按钮"&b&"次"MsgBoxs,vbOKOnly,"提示"EndSub【例6-15】Subchange()16DimdAsInteger'声明动态变量dStaticsAsInteger声'明静态变量sD=d+1S=s+1Print"动态变量d=";d,"静态变量s=";sEndSubPrivateSubCommand1_Click()DimiAsIntegerFori=1To3change'或CallchangeNextiEndSub实训(3)在Form1的窗体模块的代码窗口的最顶部(通用声明段)声明模块级变量title,用来存储字符串。代码如下:PrivatetitleAsString'表明是使用通用过程还是函数(4)定义Sub通用过程MySub,来进行乘法运算。其中的形参x、y按值传递,形参z按地址传递。代码如下:PrivateSubMySub(ByValxAsInteger,ByValyAsInteger,zAsInteger)Z=x*yEndSub定义函数过程MyFun,来进行加法运算。其中的形参m和n是按值传递的。代码如下:PrivateFunctionMyFun(ByValmAsInteger,ByValnAsInteger)AsIntegerMyFun=m+nEndFunction(5)添加窗体的事件过程Form_Load,来做些初始化的工作,将文本框置空。代码如下:PrivateSubForm_Load()Text1.Text=""Text2.Text=""Text3.Text=""EndSub分别添加两个单选按钮的Click事件过程,来设置框架Frame1和标签Label的Caption属性。代码如下:PrivateSubOption1_Click()Frame1.Caption="乘法积运算"Label1.Caption=""×EndSubPrivateSubOption2_Click()Frame1.Caption="加法运算"Label1.Caption="+"EndSub添加命令按钮的事件过程Command1_Click。其中,关键字static声明的静态变量i和j用来储存运算的次数,关键字Dim声明的过程级局部变量a、b、c用来储存三个文本框里的17数值。代码如下:PrivateSubCommand1_Click()StaticiAsInteger,jAsIntegerDimaAsInteger,bAsInteger,cAsIntegerA=Val(Text1.Text)B=Val(Text2.Text)IfOption1.Value=TrueThenTitle="用过程运算"CallMySub(a,b,c)i=i+1Form1.Caption="第"&i&"次"&titleElseTitle="用函数运算"c=MyFun(a,b)j=j+1Form1.Caption="第"&j&"次"&titleEndIfText3.Text=cEndSub第7章课前体验PrivateSubFrame1_MouseDown(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)Form1.Caption="测试鼠标事件"SelectCaseButtonCase1'左键,或用常量VisualBasicLeftButtonFrameLeft.BackColor=VisualBasicRedFrameRight.BackColor=VisualBasicWhiteFrame1.ToolTipText="朋友,您刚才在这按了鼠标左键!"Case2'右键,或用常量VisualBasicRightButtonFrameRight.BackColor=VisualBasicRedFrameLeft.BackColor=VisualBasicWhiteFrame1.ToolTipText="朋友,您刚才在这按了鼠标右键!"EndSelectEndSub【例7-1】PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)Print"您触发了MouseDown事件!"EndSubPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)Print"您又触发了MouseUp事件!"EndSub18【例7-2】PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)IfShift=1AndButton=1ThenClsPrint"鼠标指针当前横坐标X=";XElseClsPrint"鼠标指针当前纵坐标Y=";YEndIfEndSub【例7-3】1)首先,在窗体模块的顶部声明一个逻辑变量paint,如下:PrivatepaintAsBoolean(2)定义窗体上的按下鼠标按键的事件过程,使得变量paint的值在按鼠标左键时为true。再定义释放鼠标按键的事件过程,使得变量paint的值为false。代码如下:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)IfButton=1Thenpaint=TrueEndIfEndSubPrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)paint=FalseEndSub(3)定义窗体上的鼠标移动事件过程。PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)IfpaintThen’paint为true时,程序画出轨迹点PSet(X,Y)EndIfEndSub【例7-4】(2)定义窗体的Form_load事件过程,使列表框中添加几个选项。代码如下:PrivateSubForm_Load()List1.AddItem"0-Default"List1.AddItem"1-Arrow"List1.AddItem"2-Cross"List1.AddItem"3-I-Beam"EndSub(3)定义列表框的单击事件过程。PrivateSubList1_Click()19Form1.MousePointer=List1.ListIndexEndSub【例7-5】PrivateSubForm_KeyPress(KeyAsciiAsInteger)IfKeyAscii>=97AndKeyAscii<=122ThenPrint"小写字母:";Chr(KeyAscii);",ASCII码:";KeyAsciiEndIfIfKeyAscii>=65AndKeyAscii<=90ThenPrint"大写字母:";Chr(KeyAscii);",ASCII码:";KeyAsciiEndIfEndSub【例7-6】PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)DimcolorAsStringcolor=Chr(KeyCode)SelectCasecolorCase"W"Label1.BackColor=VisualBasicWhiteCase"R"Label1.BackColor=VisualBasicRedCase"G"Label1.BackColor=VisualBasicGreenCase"B"Label1.BackColor=VisualBasicBlueEndSelectEndSub【例7-7】PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)SelectCaseShiftCase1Label1.Caption="你按了【SHIFT】键!"Case2Label1.Caption="你按了【CTRL】键!"Case4Label1.Caption="你按了【ALT】键!"Case3Label1.Caption="你同时按了SHIFT和【CTRL】键!"Case5Label1.Caption="你同时按了SHIFT和【ALT】键!"Case6Label1.Caption="你同时按了CTRL和【ALT】键!"Case7Label1.Caption="你同时按了SHIFT、CTRL和【ALT】键!"20EndSelectEndSub【例7-9】PrivateSubForm_Click()IfCommand1.DragMode=0ThenCommand1.DragMode=1ElseCommand1.DragMode=0EndIfEndSub【例7-11】PrivateSubPicture2_DragDrop(SourceAsControl,XAsSingle,YAsSingle)IfTypeOfSourceIsPictureBoxThenPicture2.Picture=Source.PictureEndIfEndSub【例7-12】PrivateSubPicture1_DragOver(SourceAsControl,XAsSingle,_YAsSingle,StateAsInteger)SelectCaseStateCase0Source.DragIcon=LoadPicture(App.Path&"\4.ico")Case1Source.DragIcon=LoadPicture()EndSelectEndSub【例7-13】(2)编写文本框的MouseDown事件过程,代码如下:PrivateSubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)Text1.Drag1EndSub过程中使用Drag方法启动文本框的拖放操作;(3)编写文本框的事件过程,代码如下:PrivateSubText1_MouseUp(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)Text1.Drag2EndSub过程中使用Drag方法结束文本框的拖放操作(4)编写窗体的DragDrop事件过程,代码如下:PrivateSubForm_DragDrop(SourceAsControl,XAsSingle,YAsSingle)Source.Move(X-Source.Width/2),(Y-Source.Height/2)EndSub21实训(3)在Form1的窗体模块的代码窗口的最顶部(通用声明段)声明模块级变量paint,用来存储逻辑型数据。代码如下:PrivatepaintAsBoolean(4)定义各鼠标事件过程。①事件过程Form_MouseDown的代码如下:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)paint=True'允许绘图DrawWidth=1'设置绘图线宽PSet(X,Y)'使用画点方法EndSub②事件过程Form_MouseMove的代码如下:PrivateSubForm_MouseMove(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)IfpaintThenIfButton=1Then'按住的是左键MousePointer=1'指针设置成箭头形状,表示画笔DrawWidth=4Line-(X,Y),VisualBasicBlue'使用画点方法EndIfIfButton=2Then'按住的是右键MousePointer=11'指针设置成箭头形状,表示橡皮擦DrawWidth=16Line-(X,Y),VisualBasicWhiteEndIfEndIfEndSub③事件过程Form_MouseUp的代码如下:PrivateSubForm_MouseUp(ButtonAsInteger,ShiftAsInteger,_XAsSingle,YAsSingle)paint=False'表示不允许鼠标绘图MousePointer=1EndSub④事件过程Form_DblClick的代码如下:PrivateSubForm_DblClick()ClsEndSub(4)定义各键盘事件过程Form_KeyPress,代码如下:PrivateSubForm_KeyPress(KeyAsciiAsInteger)22PrintChr(KeyAscii);EndSub第8章课前体验(3)编写程序代码①为窗体Form1编写代码命令按钮的单击事件过程如下:PrivateSubCommand1_Click()Form1.HideForm2.ShowForm2.Caption=Form1.Text1+"的打字练习!"’Form1.Text1为用户名EndSub②为窗体Form2编写代码“重新登录”按钮Command1的单击事件过程如下:PrivateSubCommand1_Click()Form2.HideForm1.ShowEndSub“清屏”按钮Command2的单击事件过程如下:PrivateSubCommand2_Click()Text1.Text=""EndSub“关闭”按钮Command3的单击事件过程如下:PrivateSubCommand3_Click()EndEndSub【例8-2】XAsSingle,YAsSingle)IfButton=2ThenPopupMenuplayEndIfEndSub【例8-3】(1)“文件(&F)”主菜单中各菜单项的事件过程PrivateSubmnuClear_Click()ClsEndSubPrivateSubmnuExit_Click()End23EndSub该过程的功能是退出应用程序。(2)“格式(&S)”主菜单中各菜单项的事件过程PrivateSubmnuBold_Click()IfmnuBold.Checked=TrueThenText1.FontBold=FalsemnuBold.Checked=FalseElseText1.FontBold=TruemnuBold.Checked=TrueEndIfEndSub该过程在用户选择“格式”主菜单下的“粗体”菜单项时执行,实现将文本框中的文字变为粗体显示,如果文字已经是粗体显示,则将文字变为正常显示。PrivateSubmnuUnder_Click()IfmnuUnder.Checked=TrueThenText1.FontUnderline=FalsemnuUnder.Checked=FalseElseText1.FontUnderline=TruemnuUnder.Checked=TrueEndIfEndSub该过程在用户选择“格式”主菜单下的“下画线”菜单项时执行,实现将文本框中的文字添加下画线,如果文字已经具有下画线,则将文字的下画线取消。PrivateSubmnuItalic_Click()IfmnuItalic.Checked=TrueThenText1.FontItalic=FalsemnuItalic.Checked=FalseElseText1.FontItalic=TruemnuItalic.Checked=TrueEndIfEndSub该过程在用户选择“格式”主菜单下的“倾体”菜单项时执行,实现将文本框中的文字变为斜体显示,如果文字已经是斜体显示,则将文字变为正常显示。(3)“前景颜色(&Q)”子菜单中各菜单项的事件过程PrivateSubmnuRed_Click()Text1.ForeColor=vbRedEndSubPrivateSubmnuBlue_Click()Text1.ForeColor=vbBlueEndSub24(4)“帮助(&H)”主菜单项中各菜单项的事件过程PrivateSubmnuAbout_Click()MsgBox"菜单实例",vbYes,"关于"EndSubPrivateSubmnuSoft_Click()MsgBox"如有任何问题,请与作者联系!",vbYes,"使用帮助"EndSub【例8-4】(1)编写弹出式菜单“娱乐”中各菜单项的事件过程·①“画图”菜单项的事件过程PrivateSubmenuPaint_Click()Shell("c:\programfiles\accessories\mspaint.exe"),vbNormalFocusEndSub·②“纸牌”菜单项的事件过程PrivateSubmenuPoker_Click()Shell("c:\windows\sol.exe"),vbNormalFocusEndSub(2)编写下拉式菜单“办公”中各菜单项的事件过程①单击“电子文档“菜单项的事件过程PrivateSubmenuWord_Click()Shell("c:\programfiles\microsoftoffice\office\winword.exe"),vbNormalFocusEndSub·②单击“电子”菜单项的事件过程PrivateSubmenuExcel_Click()Shell("c:\programfiles\microsoftoffice\office\excel.exe"),vbNormalFocusEndSub【例8-6】2)编写命令按钮Command1(浏览)的单击事件过程:PrivateSubCommand1_Click()CommonDialog1.Filter="图片文件|*.bmp;*.jpg;*.gif"CommonDialog1.ShowOpen'或CommonDialog1.Action=1Picture1.Picture=LoadPicture(CommonDialog1.FileName)EndSub3)编写命令按钮Command2(保存)的单击事件过程:PrivateSubCommand2_Click()CommonDialog1.InitDir="d:\"CommonDialog1.FileName="tu.bmp"CommonDialog1.Filter="BMP文件|*.bmp"CommonDialog1.ShowSave'或CommonDialog1.Action=2SavePicturePicture1.Picture,CommonDialog1.FileNameEndSub25【例8-7】(2)编写命令按钮Command1(设置颜色)的单击事件过程:PrivateSubCommand1_Click()CommonDialog1.ShowColor'或CommonDialog1.Action=3Text1.ForeColor=CommonDialog1.ColorEndSub(3)编写命令按钮Command2(设置字体)的单击事件过程:PrivateSubCommand2_Click()CommonDialog1.Action=4'或CommonDialog1.ShowFontText1.FontName=CommonDialog1.FontNameText1.FontSize=CommonDialog1.FontSizeText1.FontBold=CommonDialog1.FontBoldText1.FontItalic=CommonDialog1.FontItalicText1.FontUnderline=CommonDialog1.FontUnderlineEndSub【例8-8】2)编写程序代码如下:PrivateSubForm_Load()StatusBar1.Panels(1).Text=DateEndSub该事件过程使得程序启动后,状态栏窗格1上显示当前的日期。PrivateSubText1_KeyPress(KeyAsciiAsInteger)StatusBar1.Panels(2).Text=文"本框1上输入"EndSub当在文本框Text1上输入时,调用该事件过程,使得状态栏窗格2上显示“文本框1上输入”。PrivateSubText2_KeyPress(KeyAsciiAsInteger)StatusBar1.Panels(2).Text=文"本框2上输入"EndSub【例8-10】(3)编写3个复选框的事件过程:PrivateSubCheck1_Click()Text1.FontBold=NotText1.FontBoldEndSubPrivateSubCheck2_Click()Text1.FontItalic=NotText
/
本文档为【(完整word版)VB实例源码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索