Vb代码.docx
《Vb代码.docx》由会员分享,可在线阅读,更多相关《Vb代码.docx(35页珍藏版)》请在冰豆网上搜索。
![Vb代码.docx](https://file1.bdocx.com/fileroot1/2023-2/3/163e6b61-b6fb-4da3-b0ec-5b7bd7582ea3/163e6b61-b6fb-4da3-b0ec-5b7bd7582ea31.gif)
Vb代码
选择结构
IF语句
年龄判断2
PrivateSubbtnOK_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnOK.Click
IfUCase(txtSex.Text)="M"Then'男
IfVal(txtAge.Text)>=36Then
lblResult.Text="再不结婚就来不及了!
"
ElseIfVal(txtAge.Text)>=30Then
lblResult.Text="可以考虑娶老婆了!
"
Else
lblResult.Text="你还年轻!
"
EndIf
ElseIfUCase(txtSex.Text)="F"Then'女
IfVal(txtAge.Text)>=32Then
lblResult.Text="再不结婚就来不及了!
"
ElseIfVal(txtAge.Text)>=25Then
lblResult.Text="可以考虑嫁人了"
Else
lblResult.Text="你还年轻"
EndIf
Else
MsgBox("性别输入有误",MsgBoxStyle.OKOnly,"错误")
EndIf
EndSub
EndClass
年龄判断1
PrivateSubbtnOK_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesbtnOK.Click
DimkeyAgeAsString=39
lblResult.Text=""
SelectCaseVal(txtAge.Text)
Case6To9
lblResult.Text="年龄在到岁之间的小朋友"
Case11,21,31
lblResult.Text="年龄是11、12、13岁"
Case16To28
IfVal(txtAge.Text)=18ThenExitSelect
lblResult.Text="正值青春年华的年纪"
CasekeyAge
lblResult.Text="要特别小心的年纪"
CaseIs>=70,Is<6
lblResult.Text="老年人和小小孩"
Case29To33,41To44,55,58
lblResult.Text="有机会飞黄腾达的年龄"
CaseElse
lblResult.Text="其它不错的年纪"
EndSelect
EndSub
EndClass
单选、复选控件
PrivateSubRadioButton1_CheckedChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesRadioButton1.CheckedChanged
DimsAsString
If(RadioButton1.Checked)Then
s=RadioButton1.Text+vbCrLf
Else
s=RadioButton2.Text+vbCrLf
EndIf
IfCheckBox1.CheckedThen
s=s+CheckBox1.Text+vbCrLf
EndIf
IfCheckBox2.CheckedThen
s=s+CheckBox2.Text+vbCrLf
EndIf
IfCheckBox3.CheckedThen
s=s+CheckBox3.Text+vbCrLf
EndIf
TextBox1.Text=s
EndSub
颜色大小
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
IfRadioButton1.CheckedThen
TextBox1.ForeColor=Color.Red
ElseIfRadioButton2.CheckedThen
TextBox1.ForeColor=Color.Green
Else
TextBox1.ForeColor=Color.Blue
EndIf
IfRadioButton4.CheckedThen
TextBox1.Font=NewFont(TextBox1.Font.Name,16,TextBox1.Font.Style)
Else
TextBox1.Font=NewFont(TextBox1.Font.Name,24,TextBox1.Font.Style)
EndIf
EndSub
计时器
Dimt#
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
t=TextBox1.Text
Timer1.Enabled=True
EndSub
PrivateSubTimer1_Tick1(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer1.Tick
Dimm,sAsInteger
t=t-1
m=Int(t/60)
s=tMod60
TextBox2.Text=m&"分"&s&"秒"
If(t=0)Then
Timer1.Enabled=False
MsgBox("时间到!
")
EndIf
EndSub
蝴蝶飞
PrivateSubTimer1_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer1.Tick
StaticPickBmpAsInteger'定义图像交替控制指针
IfPickBmp=0Then
PictureBox1.Image=PictureBox2.Image'显示图像
PickBmp=1
Else
PictureBox1.Image=PictureBox3.Image'显示图像
PickBmp=0
EndIf
PictureBox1.Left=PictureBox1.Left+5
PictureBox1.Top=PictureBox1.Top-5
IfPictureBox1.Top<0OrPictureBox1.Left>Me.WidthThen
PictureBox1.Left=0
PictureBox1.Top=120
EndIf
EndSub
红绿灯
PrivateSubTimer1_Tick(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesTimer1.Tick
Statici%
i=iMod3
Ifi=0Then
Timer1.Interval=TextBox1.Text*1000
PictureBox4.Image=PictureBox1.Image
Label4.Text="红灯时间,请停车!
"
ElseIfi=1Then
Timer1.Interval=TextBox2.Text*1000
PictureBox4.Image=PictureBox2.Image
Label4.Text="黄灯时间,注意信号灯切换!
"
Else
Timer1.Interval=TextBox3.Text*1000
PictureBox4.Image=PictureBox3.Image
Label4.Text="绿灯时间,可以安全通行!
"
EndIf
i+=1
EndSub
计算贷款
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimaAsInteger,bAsInteger
a=Val(TextBox1.Text)
IfCheckBox1.Checked=TrueThen
IfRadioButton4.Checked=TrueAndRadioButton1.Checked=TrueThen
b=a*10000*(1+0.05*0.95)/(10*12)
TextBox2.Text=Format(b,"#.##")
ElseIfRadioButton4.Checked=TrueAndRadioButton2.Checked=TrueThen
b=a*10000*(1+0.08*0.95)/(20*12)
TextBox2.Text=Format(b,"#.##")
ElseIfRadioButton4.Checked=TrueAndRadioButton3.Checked=TrueThen
b=a*10000*(1+0.1*0.95)/(30*12)
TextBox2.Text=Format(b,"#.##")
ElseIfRadioButton5.Checked=TrueAndRadioButton1.Checked=TrueThen
b=a*10000*(1+0.05*0.95*0.9)/(10*12)
TextBox2.Text=Format(b,"#.##")
ElseIfRadioButton5.Checked=TrueAndRadioButton2.Checked=TrueThen
b=a*10000*(1+0.08*0.95*0.9)/(20*12)
TextBox2.Text=Format(b,"#.##")
ElseIfRadioButton5.Checked=TrueAndRadioButton3.Checked=TrueThen
b=a*10000*(1+0.1*0.95*0.9)/(30*12)
TextBox2.Text=Format(b,"#.##")
EndIf
Else
IfRadioButton4.Checked=TrueAndRadioButton1.Checked=TrueThen
b=a*10000*(1+0.05)/(10*12)
TextBox2.Text=Format(b,"#.##")
ElseIfRadioButton4.Checked=TrueAndRadioButton2.Checked=TrueThen
b=a*10000*(1+0.08)/(20*12)
TextBox2.Text=Format(b,"#.##")
ElseIfRadioButton4.Checked=TrueAndRadioButton3.Checked=TrueThen
b=a*10000*(1+0.1)/(30*12)
TextBox2.Text=Format(b,"#.##")
ElseIfRadioButton5.Checked=TrueAndRadioButton1.Checked=TrueThen
b=a*10000*(1+0.05*0.9)/(10*12)
TextBox2.Text=Format(b,"#.##")
ElseIfRadioButton5.Checked=TrueAndRadioButton2.Checked=TrueThen
b=a*10000*(1+0.08*0.9)/(20*12)
TextBox2.Text=Format(b,"#.##")
ElseIfRadioButton5.Checked=TrueAndRadioButton3.Checked=TrueThen
b=a*10000*(1+0.1*0.9)/(30*12)
TextBox2.Text=Format(b,"#.##")
EndIf
EndIf
EndSub
Select语句
计算题
PublicClassForm1
InheritsSystem.Windows.Forms.Form
DimstrExpAsString'存放产生的题目
DimresultAsSingle'存放计算机计算结果
DimNok,NerrorAsInteger'存放对、错题数
'通过产生随机数生成题目
--------------------------------------------------------------------------------------------
PrivateSubForm1_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Load
DimNum1%,Num2%,NOp%,Op$
Randomize()
Num1=Int(10*Rnd()+1)
Num2=Int(10*Rnd()+1)
NOp=Int(4*Rnd()+1)
SelectCaseNOp
Case1
Op="+":
result=Num1+Num2
Case2
Op="-":
result=Num1-Num2
Case3
Op="×":
result=Num1*Num2
Case4
Op="÷":
result=Num1/Num2
EndSelect
strExp=Num1&Op&Num2&"="
Label1.Text=strExp
EndSub
--------------------------------------------------------------------------------------------
PrivateSubButton1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimNum1%,Num2%,NOp%,Op$
IfVal(TextBox1.Text)=resultThen
TextBox2.Text&=strExp&TextBox1.Text&Space(3)&"√"&vbCrLf
Nok+=1
Else
TextBox2.Text&=strExp&TextBox1.Text&Space(3)&"×"&vbCrLf
Nerror+=1
EndIf
'Form1_Load(Me,e)'产生下一道题目
Randomize()
Num1=Int(10*Rnd()+1)
Num2=Int(10*Rnd()+1)
NOp=Int(4*Rnd()+1)
SelectCaseNOp
Case1
Op="+":
result=Num1+Num2
Case2
Op="-":
result=Num1-Num2
Case3
Op="×":
result=Num1*Num2
Case4
Op="÷":
result=Num1/Num2
EndSelect
strExp=Num1&Op&Num2&"="
Label1.Text=strExp
TextBox1.Text=""
EndSub
--------------------------------------------------------------------------------------------
PrivateSubButton2_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesButton2.Click
Label1.Text=""
TextBox2.Text&="----------------------"&vbCrLf
TextBox2.Text&="一共计算"&(Nok+Nerror)&"道题"&vbCrLf
TextBox2.Text&="得分:
"&CInt(Nok/(Nok+Nerror)*100)&"分"&vbCrLf
EndSub
--------------------------------------------------------------------------------------------
PrivateSubTextBox2_TextChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTextBox2.TextChanged
EndSub
EndClass
循环结构
For语句
1+2+3…+100
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Dimi%,sum%
sum=0
Fori=1To100
sum=sum+i
Next
Label1.Text=sum
EndSub
递推斐波纳契
【例】有一数列,前两项是1、1,第三项是前二项之和,以后每一项都是前二项之和。
即为:
1、1、2、3、5、8、13、21…。
输出前30项
递推:
(1)初始值:
F1=1、F2=1
(2)递推关系:
Fn=Fn-1+Fn-2(n>2)
F1和F2始终作为前两个数,F3作为新产生的数,利用循环不断用新值代替旧值。
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimF1AsLong,F2AsLong,F3AsLong
DimiAsInteger
F1=1:
F2=1
Label1.Text=Space(8)&F1&Space(8)&F2
Fori=3To30
F3=F1+F2
Label1.Text&=Space(10-Len(Str(F3)))&F3
IfiMod4=0ThenLabel1.Text&=vbCrLf'每行显示4个数
F1=F2'用新值代替旧值
F2=F3
Next
EndSub
最大最小值
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Dimmax%,min%,x%,i%,sum%
x=Int(Rnd()*101+100)
Label1.Text=x
max=x:
min=x:
sum=0
Fori=1To9
x=Int(Rnd()*101+100)
sum=sum+x
Label1.Text&=Space
(2)&x
Ifx>maxThenmax=x
IfxNexti
Label1.Text&=vbCrLf
Label1.Text&=vbCrLf&"最大值="&max
Label1.Text&=vbCrLf&"最小值="&min
Label1.Text&=vbCrLf&"平均值="&sum/10
EndSub
九九乘法表
PrivateSubForm1_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMyBase.Load
DimseAsString,i,jAsInteger
Label1.Text=Space(30)&"九九乘法表"&vbCrLf
Label1.Text&=Space(30)&"------------"&vbCrLf
Fori=1To9
Forj=1To9
se=i&"×"&j&"="&i*j
Label1.Text&=se&Space(8-Len(se))
Nextj
Label1.Text&=vbCrLf'换行
Nexti
EndSub
Priva