Vb6 输入框取消
我已经创建了一个输入框来输入用户名,但是被“取消”按钮卡住了Vb6 输入框取消,vb6,Vb6,我已经创建了一个输入框来输入用户名,但是被“取消”按钮卡住了 Private Sub Form_Load() fsUserName = UCase(InputBox("Please Enter your name.", "User Name", _ "dc")) If fsUserName = "" Then MsgBox "No name Entered." & Chr(13) & Chr(13) & _ "You must enter a name.", vbExc
Private Sub Form_Load()
fsUserName = UCase(InputBox("Please Enter your name.", "User Name", _
"dc"))
If fsUserName = "" Then
MsgBox "No name Entered." & Chr(13) & Chr(13) & _
"You must enter a name.", vbExclamation, "ERROR"
Form_Load
ElseIf VarType(fsUserName) = 0 Then 'If cancel clicked
cmdQuit_Click
End If
还有一种方法,当单击表单上的X按钮时,它会执行cmdQuit\u Click,这样,如果用户单击命令按钮Quit或X,退出脚本将运行。在退出脚本中有消息框和清除。您可以使用StrPtr()
检测是否单击了取消
Dim fsUserName As String
fsUserName = InputBox("Please Enter your name.", "User Name", "dc")
If (StrPtr(fsUserName) = 0&) Then
MsgBox "Cancelled or X clicked"
ElseIf fsUserName = "" Then
MsgBox "No name Entered." & vbCr & "You must enter a name.", vbExclamation, "ERROR"
Else
fsUserName = UCase$(fsUserName)
MsgBox fsUserName
End If
如果您想在表单卸载时执行某些操作,可以使用form\u Unload
事件,或者更好地使用form\u QueryUnload
事件,该事件在实际卸载之前触发,允许您取消它。它还将告诉您表单卸载的原因(
UnloadMode
如果单击红色X,则将为0)
使用“卸载Me
”将引发这两个事件
编辑:在
Form\u Load
中调用Form\u Load
这样做最终会填满堆栈,最好使用循环查找丢失的用户名。Alex使用strprtr的答案(我假设它与广告一样有效)是最好的,但更好的建议(IMO)是完全避免输入框。您可以使用一个对话框样式的表单、一个文本框和几个按钮,如果您愿意,还可以使用一个图标,轻松创建自己的
滚动您自己的应用程序会给您带来完全的灵活性和可预测性,一旦拥有了它,您就可以在未来的任何项目中使用它。Excel
InputBox
和应用程序。InputBox
是不同的功能
Sub GetValue2()
Dim Monthly As Variant
Monthly = Application.InputBox _
(Prompt:="Podaj wysokość miesięcznej wypłaty:", _
Type:=1)
If Monthly = False Then Exit Sub
MsgBox "Zarobki rocznie: " & Monthly * 12
End Sub
试试这个
Name=Application.InputBox(“请输入名称”)
如果Name=“False”,则
MsgBox“您的信息在此”
出口接头
如果VB6的InputBox()函数是等效API调用上的一个非常薄的包装器,则结束,该调用将取消为返回空指针。在极少数情况下,输入框是有用的,检测技术是好的——没有可靠性问题。但是,我同意InputBox()对于普通用户将要使用的生产程序来说是一个糟糕的选择。Jim很好地建议创建我自己的自定义对话框要比使用InputBox好得多。对话框可以有更专业的外观。谢谢Hanks Alex,这个解决方案对我来说非常有效。如果你也能指导我循环部分,我将非常高兴。再次感谢。