新手求教,如何用VB编写一个数字键盘

[复制链接]
查看11 | 回复6 | 2021-1-27 06:05:15 | 显示全部楼层 |阅读模式
如何用VB编写数字键盘,用于密码输入的,求教
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
建一个空窗体,不用拉控件把代码贴进去运行就行了
PrivateWithEventsNum0AsLabel
PrivateWithEventsNum1AsLabel
PrivateWithEventsNum2AsLabel
PrivateWithEventsNum3AsLabel
PrivateWithEventsNum4AsLabel
PrivateWithEventsNum5AsLabel
PrivateWithEventsNum6AsLabel
PrivateWithEventsNum7AsLabel
PrivateWithEventsNum8AsLabel
PrivateWithEventsNum9AsLabel
PrivateWithEventsCancelAsLabel
PrivateWithEventsEnterAsLabel
PrivateWithEventsPassBoxAsTextBox
PrivateWithEventsBackAsLabel
PrivateSubForm_Load()
DimS()AsLabel
DimIAsInteger
ReDimS(12)
ForI=0ToUBound(S)
SetS(I)=Me.Controls.Add("VB.Label","Label_"&I)
S(I).Move60+(IMod4)*420,480+(I\4)*420,360,360
S(I).Appearance=0
S(I).BorderStyle=1
S(I).Alignment=2
S(I).Caption=CStr(I)
S(I).FontSize=14
S(I).Visible=True
Next
S(10).Move900,1315,780,360
S(10).BackColor=vbYellow
S(10).Caption="Back"
S(10).FontSize=12
S(11).Move60,1720,780,360
S(11).BackColor=vbRed
S(11).Caption="Cancel"
S(11).FontSize=12
S(12).Move900,1720,780,360
S(12).BackColor=vbGreen
S(12).Caption="Enter"
S(12).FontSize=12
SetNum0=S(0)
SetNum1=S(1)
SetNum2=S(2)
SetNum3=S(3)
SetNum4=S(4)
SetNum5=S(5)
SetNum6=S(6)
SetNum7=S(7)
SetNum8=S(8)
SetNum9=S(9)
SetBack=S(10)
SetCancel=S(11)
SetEnter=S(12)
SetPassBox=Me.Controls.Add("VB.TextBox","PassBox_0")
PassBox.Move60,60,1620,360
PassBox.Appearance=0
PassBox.BorderStyle=1
PassBox.BackColor=vbBlack
PassBox.ForeColor=vbGreen
PassBox.FontSize=16
PassBox.PasswordChar="*"
PassBox.Visible=True
PassBox.Enabled=False
EndSub
PrivateSubNum0_Click()
PassBox.Text=PassBox.Text&Num0.Caption
EndSub
PrivateSubNum1_Click()
PassBox.Text=PassBox.Text&Num1.Caption
EndSub
PrivateSubNum2_Click()
PassBox.Text=PassBox.Text&Num2.Caption
EndSub
PrivateSubNum3_Click()
PassBox.Text=PassBox.Text&Num3.Caption
EndSub
PrivateSubNum4_Click()
PassBox.Text=PassBox.Text&Num4.Caption
EndSub
PrivateSubNum5_Click()
PassBox.Text=PassBox.Text&Num5.Caption
EndSub
PrivateSubNum6_Click()
PassBox.Text=PassBox.Text&Num6.Caption
EndSub
PrivateSubNum7_Click()
PassBox.Text=PassBox.Text&Num7.Caption
EndSub
PrivateSubNum8_Click()
PassBox.Text=PassBox.Text&Num8.Caption
EndSub
PrivateSubNum9_Click()
PassBox.Text=PassBox.Text&Num9.Caption
EndSub
PrivateSubBack_Click()
PassBox.Text=Left(PassBox.Text,Len(PassBox.Text)-1)
EndSub
PrivateSubCancel_Click()
PassBox.Text=""
EndSub
PrivateSubEnter_Click()
MsgBox"密码结果="&PassBox.Text,vbInformation+vbOKOnly,"密码"
EndSub
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
引用1楼bakw的回复:建一个空窗体,不用拉控件把代码贴进去运行就行了
PrivateWithEventsNum0AsLabel
PrivateWithEventsNum1AsLabel
PrivateWithEventsNum2AsLabel
PrivateWithEventsNum3AsLabel
PrivateWithEventsNum4AsLabel
PrivateWithEventsNum5AsLabel
PrivateWithEventsNum6AsLabel
PrivateWithEventsNum7AsLabel
PrivateWithEventsNum8AsLabel
PrivateWithEventsNum9AsLabel
PrivateWithEventsCancelAsLabel
PrivateWithEventsEnterAsLabel
PrivateWithEventsPassBoxAsTextBox
PrivateWithEventsBackAsLabel
PrivateSubForm_Load()
DimS()AsLabel
DimIAsInteger
ReDimS(12)
ForI=0ToUBound(S)
SetS(I)=Me.Controls.Add("VB.Label","Label_"&I)
S(I).Move60+(IMod4)*420,480+(I\4)*420,360,360
S(I).Appearance=0
S(I).BorderStyle=1
S(I).Alignment=2
S(I).Caption=CStr(I)
S(I).FontSize=14
S(I).Visible=True
Next
S(10).Move900,1315,780,360
S(10).BackColor=vbYellow
S(10).Caption="Back"
S(10).FontSize=12
S(11).Move60,1720,780,360
S(11).BackColor=vbRed
S(11).Caption="Cancel"
S(11).FontSize=12
S(12).Move900,1720,780,360
S(12).BackColor=vbGreen
S(12).Caption="Enter"
S(12).FontSize=12
SetNum0=S(0)
SetNum1=S(1)
SetNum2=S(2)
SetNum3=S(3)
SetNum4=S(4)
SetNum5=S(5)
SetNum6=S(6)
SetNum7=S(7)
SetNum8=S(8)
SetNum9=S(9)
SetBack=S(10)
SetCancel=S(11)
SetEnter=S(12)
SetPassBox=Me.Controls.Add("VB.TextBox","PassBox_0")
PassBox.Move60,60,1620,360
PassBox.Appearance=0
PassBox.BorderStyle=1
PassBox.BackColor=vbBlack
PassBox.ForeColor=vbGreen
PassBox.FontSize=16
PassBox.PasswordChar="*"
PassBox.Visible=True
PassBox.Enabled=False
EndSub
PrivateSubNum0_Click()
PassBox.Text=PassBox.Text&Num0.Caption
EndSub
PrivateSubNum1_Click()
PassBox.Text=PassBox.Text&Num1.Caption
EndSub
PrivateSubNum2_Click()
PassBox.Text=PassBox.Text&Num2.Caption
EndSub
PrivateSubNum3_Click()
PassBox.Text=PassBox.Text&Num3.Caption
EndSub
PrivateSubNum4_Click()
PassBox.Text=PassBox.Text&Num4.Caption
EndSub
PrivateSubNum5_Click()
PassBox.Text=PassBox.Text&Num5.Caption
EndSub
PrivateSubNum6_Click()
PassBox.Text=PassBox.Text&Num6.Caption
EndSub
PrivateSubNum7_Click()
PassBox.Text=PassBox.Text&Num7.Caption
EndSub
PrivateSubNum8_Click()
PassBox.Text=PassBox.Text&Num8.Caption
EndSub
PrivateSubNum9_Click()
PassBox.Text=PassBox.Text&Num9.Caption
EndSub
PrivateSubBack_Click()
PassBox.Text=Left(PassBox.Text,Len(PassBox.Text)-1)
EndSub
PrivateSubCancel_Click()
PassBox.Text=""
EndSub
PrivateSubEnter_Click()
MsgBox"密码结果="&PassBox.Text,vbInformation+vbOKOnly,"密码"
EndSub

大哥,我要在触摸屏上使用,输入到文本文档里面,能帮忙处理下吗?
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
引用2楼weixin_38114923的回复:Quote: 引用1楼bakw的回复:
建一个空窗体,不用拉控件把代码贴进去运行就行了
PrivateWithEventsNum0AsLabel
PrivateWithEventsNum1AsLabel
PrivateWithEventsNum2AsLabel
PrivateWithEventsNum3AsLabel
PrivateWithEventsNum4AsLabel
PrivateWithEventsNum5AsLabel
PrivateWithEventsNum6AsLabel
PrivateWithEventsNum7AsLabel
PrivateWithEventsNum8AsLabel
PrivateWithEventsNum9AsLabel
PrivateWithEventsCancelAsLabel
PrivateWithEventsEnterAsLabel
PrivateWithEventsPassBoxAsTextBox
PrivateWithEventsBackAsLabel
PrivateSubForm_Load()
DimS()AsLabel
DimIAsInteger
ReDimS(12)
ForI=0ToUBound(S)
SetS(I)=Me.Controls.Add("VB.Label","Label_"&I)
S(I).Move60+(IMod4)*420,480+(I\4)*420,360,360
S(I).Appearance=0
S(I).BorderStyle=1
S(I).Alignment=2
S(I).Caption=CStr(I)
S(I).FontSize=14
S(I).Visible=True
Next
S(10).Move900,1315,780,360
S(10).BackColor=vbYellow
S(10).Caption="Back"
S(10).FontSize=12
S(11).Move60,1720,780,360
S(11).BackColor=vbRed
S(11).Caption="Cancel"
S(11).FontSize=12
S(12).Move900,1720,780,360
S(12).BackColor=vbGreen
S(12).Caption="Enter"
S(12).FontSize=12
SetNum0=S(0)
SetNum1=S(1)
SetNum2=S(2)
SetNum3=S(3)
SetNum4=S(4)
SetNum5=S(5)
SetNum6=S(6)
SetNum7=S(7)
SetNum8=S(8)
SetNum9=S(9)
SetBack=S(10)
SetCancel=S(11)
SetEnter=S(12)
SetPassBox=Me.Controls.Add("VB.TextBox","PassBox_0")
PassBox.Move60,60,1620,360
PassBox.Appearance=0
PassBox.BorderStyle=1
PassBox.BackColor=vbBlack
PassBox.ForeColor=vbGreen
PassBox.FontSize=16
PassBox.PasswordChar="*"
PassBox.Visible=True
PassBox.Enabled=False
EndSub
PrivateSubNum0_Click()
PassBox.Text=PassBox.Text&Num0.Caption
EndSub
PrivateSubNum1_Click()
PassBox.Text=PassBox.Text&Num1.Caption
EndSub
PrivateSubNum2_Click()
PassBox.Text=PassBox.Text&Num2.Caption
EndSub
PrivateSubNum3_Click()
PassBox.Text=PassBox.Text&Num3.Caption
EndSub
PrivateSubNum4_Click()
PassBox.Text=PassBox.Text&Num4.Caption
EndSub
PrivateSubNum5_Click()
PassBox.Text=PassBox.Text&Num5.Caption
EndSub
PrivateSubNum6_Click()
PassBox.Text=PassBox.Text&Num6.Caption
EndSub
PrivateSubNum7_Click()
PassBox.Text=PassBox.Text&Num7.Caption
EndSub
PrivateSubNum8_Click()
PassBox.Text=PassBox.Text&Num8.Caption
EndSub
PrivateSubNum9_Click()
PassBox.Text=PassBox.Text&Num9.Caption
EndSub
PrivateSubBack_Click()
PassBox.Text=Left(PassBox.Text,Len(PassBox.Text)-1)
EndSub
PrivateSubCancel_Click()
PassBox.Text=""
EndSub
PrivateSubEnter_Click()
MsgBox"密码结果="&PassBox.Text,vbInformation+vbOKOnly,"密码"
EndSub

大哥,我要在触摸屏上使用,输入到文本文档里面,能帮忙处理下吗?

显示按键:1、2、3、4、5、6、7、8、9、0、退格、确定,这几个按钮就行,能在触摸屏上使用,把信息输入到文本文档里面。
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
自己建立一个窗体,然后弹出这个窗口
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
狗尾续貂:PrivateWithEventsNum0AsLabel
PrivateWithEventsNum1AsLabel
PrivateWithEventsNum2AsLabel
PrivateWithEventsNum3AsLabel
PrivateWithEventsNum4AsLabel
PrivateWithEventsNum5AsLabel
PrivateWithEventsNum6AsLabel
PrivateWithEventsNum7AsLabel
PrivateWithEventsNum8AsLabel
PrivateWithEventsNum9AsLabel
PrivateWithEventsCancelAsLabel
PrivateWithEventsEnterAsLabel
PrivateWithEventsPassBoxAsTextBox
PrivateWithEventsBackAsLabel
PrivateOrder(0To9)AsInteger
PrivateSubForm_Load()
DimS()AsLabel
DimIAsInteger
DimaAsInteger
DimbAsInteger
DimtAsInteger
ReDimS(12)
ForI=0To9
Order(I)=I
Next
Randomize
ForI=0To100
a=Int(Rnd*10)
b=Int(Rnd*10)
t=Order(a):Order(a)=Order(b):Order(b)=t
Next
ForI=0ToUBound(S)
SetS(I)=Me.Controls.Add("VB.Label","Label_"&I)
S(I).Move60+(IMod4)*420,480+(I\4)*420,360,360
S(I).Appearance=0
S(I).BorderStyle=1
S(I).Alignment=2
IfI


回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
白璧微瑕:
PrivateSubBack_Click()
IfPassBox.Text""ThenPassBox.Text=Left(PassBox.Text,Len(PassBox.Text)-1)
EndSub

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行