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.", vbExclamation, "ERROR"
Form_Load
ElseIf VarType(fsUserName) = 0 Then 'If cancel clicked
cmdQuit_Click

End If

还有一种方法是,当单击窗体上的 X 按钮时,它会执行 cmdQuit_Click 以便如果用户单击命令按钮 Quit 或 X ,则运行 Quit 脚本。在退出脚本中有消息框和清理。

最佳答案

您可以使用 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_Unload事件或更好的Form_QueryUnload在实际卸载之前触发的事件并允许您取消它。
它还会告诉您为什么要卸载表单(如果单击红色 X,UnloadMode 将为 0)

使用“Unload Me”将引发这两个事件。

编辑:调用 Form_LoadForm_Load这样最终会填满堆栈,最好使用循环来查找丢失的用户名。

关于vb6 - 输入框取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3123679/

相关文章:

vb6 - 如何在VB6中复制打开的文件?

postgresql - PostgreSQL ODBC连接SSPI身份验证失败

vb6 - 对 Format 函数使用不同的区域设置?

vb6 - VB 6 内存限制

c# - COM Interop 和 .NET 3.5 的问题 - 调试和 Release模式下的不同行为

excel - VB/VBA : Fetch HTML string from clipboard (copied via web browser)

class - 删除类后出现 VB6 错误 "No creatable public component detected"

vb6 - 在 VB6 中,在文件夹名称包含空格的路径中执行 .bat 文件时出现问题

java - 如何将 Visual Basic String() 转换为 Java 代码

windows - ShellExecute,路径中有空格