输入框 取消

2024-03-05

我创建了一个输入框来输入用户名,但卡住了取消按钮

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 脚本。在 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在实际卸载之前触发的事件并允许您取消它。
它还会告诉您为什么表单正在卸载(UnloadMode如果单击红色 X,则为 0)

Using "Unload Me" 将引发这两个事件。

Edit:呼唤Form_Load in Form_Load这样最终会填满堆栈,最好使用循环来查找丢失的用户名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

输入框 取消 的相关文章

  • VB.NET 和 COM Interop 看似随机崩溃

    我正在考虑用 VB 6 重写一个全新的 VB NET 应用程序 该应用程序在终端服务下运行并大量使用 COM 由于某种原因 该应用程序存在随机奇怪之处 随机访问冲突错误 WinDbg 异常分析指向 dll 如 comdlg32 dll ms
  • 如何通过 COM 公开 .netstandard2.0 库以便在 VB6 中使用?

    我有一个 dotnet 核心库 一个框架 4 7 2 库和一个 vb6 应用程序 我想编写一个公共库供他们所有人访问 因此选择 netstandard2 0 我尝试了 netstandard2 0 库和 vb6 之间的 4 7 2 框架包装
  • VB6 应用程序调用 .NET DLL OutOfMemory 异常

    我们有一个调用 NET DLL 的 VB6 应用程序 有时 在 VB6 应用程序运行很长时间并多次调用 NET 代码后 NET 方面会抛出 OutOfMemory 异常 即使计算机上有足够的可用内存 VB6 的内存空间也远未达到极限 NET
  • 在 Eclipse IDE 上使用 VBA [重复]

    这个问题在这里已经有答案了 可能的重复 有没有便宜或免费的 VB6 编程 IDE https stackoverflow com questions 1766514 any cheap or free ides out there for
  • 添加 Windows Common Controls 6.0 时对象库未注册

    我正在尝试在 Windows 7 32 位计算机上安装 Visual Studio 6 操作系统安装是从裸机进行的 我按照提到的说明进行操作here http www fortypoundhead com showcontent asp a
  • 在 VB6 中的打印机上进行 Unicode 打印

    我正在尝试在打印机 实际上是 PDFCreator 上打印 Unicode 中文 字符串 但我得到的只是字符的垂直打印 我用TextOutW函数导入自gdi32 dll TextOutW dest hDC x y StrConv szTex
  • RS 232 中断信号

    我有一个RS232信号捕获设备 而且效果很好 我需要一些帮助来理解数据 基本上我们购买它是因为我们正在处理 80 年代末使用串行通信的机器控制器 尽管知道端口参数 但我们运气不佳 从我转储的数据来看 机器控制正在使用中断信号作为其协议的一部
  • 如何将现有的窗体添加到 vb6 项目中?

    我的 vb6 项目中有一个表单 Search frm 我想添加具有不同名称 SearchNew frm 的相同表单 我复制了表单 Search frm 并重命名为 SearchNew frm 并尝试添加到项目中 但它给我一个错误 Searc
  • 基于 Windows 8 ARM 的平板电脑上的 VB6

    随着 Windows 8 将支持 VB6 我的问题是 Microsoft 是否在任何地方表示 是或否 VB6 应用程序将在基于 ARM 的平板电脑上运行 如果没有 是否有任何 ARM 模拟器 以便我们可以在 Windows 8 ARM 平板
  • 需要从 DCOM 配置中删除对象 (DCOMCNFG)

    我们有一个带有 activex exe 和 com dll 的应用程序 安装后 我们会在 DCOM 配置中创建一个对象 如果我们尝试从 DCOM 配置中删除该对象 它就会关闭 直到我们再次重新打开它 想知道是否有任何程序可以从 DCOM 及
  • vb6 中双精度计算的值不正确

    当在 vb6 中添加 2 个值时 我得到一些奇怪的行为 当在立即窗口中针对不同情况打印变量 sum 双精度型 时 如下所示 我得到的结果为 sum 0 sum 0 sum 0 sum 74 46 0 41 sum 74 87 sum 97
  • INTEGER 到 DATETIME 的转换与 VB6 不同

    我正在查看一些遗留的 VB6 代码 比我的时代早很多年 它对 SQL 2005 数据库运行查询 它提供了日期限制WHERE子句 其中日期作为整数值给出CLng VB6 中的日期 e g WHERE SomeDateField gt 4006
  • VB6 ActiveX exe - 正确的注册顺序是什么?

    我最近更新了一个 Visual Basic 6 应用程序 它是一个 ActiveX exe 在 Windows XP 上运行 我有几个此应用程序的测试人员 他们已收到 exe 的副本并正在尝试运行它 但是 他们收到一条错误消息 Unexpe
  • 在 VB6 中使用 Crystal Reports 时出现错误 20728-F

    我在 VB6 项目中使用 Crystal Reports 但在加载报表时遇到错误crystalreport1 action 1 请给我一些解决这个问题的方法 它显示错误为Error in 20728 F cryStockReport Rep
  • 在 VB6 中计时函数/测量性能的最佳方法是什么?

    如果我只想快速测量特定函数花费的时间 我可以调用什么来获得准确的计时 鉴于VB6计时函数精度不高 是否可以调用Windows API函数 您还通过哪些其他方式衡量应用程序性能 有推荐的第三方工具吗 我通常使用 Windows 高分辨率性能计
  • 如何在 VB6 中创建自动完成组合框?

    是否可以使用VB6下默认的ComboBox控件使其成为智能ComboBox 我们假设这些值已填充到组合框中 例如 New Delhi New World New York 我们需要 ComboBox 响应一个默认事件 因此当用户写入 N 时
  • Visual Basic 6.0 UML 图生成器

    有没有免费的 UML 图生成器可以将 VB6 源代码转换为 UML 图 您是否见过 Deanna 提到的内置 Visual Modelerhere https stackoverflow com questions 16912161 use
  • 如何在 VB 6 中使用打开文件对话框?

    我想从目录或其他系统中选择一个文件 如何在 VB 6 中使用打开文件对话框 有一些示例代码这个问题 https stackoverflow com questions 289276 vb6 selecting a file to later
  • VB 6源代码,语音文本是法语想要翻译成英语[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个可能对我有用的程序 但文档和所有工具提示均采用我无法阅读的语言 源代码是可用的 整个事情大约有 84 000 行代码 我的问题
  • 不建议在 VB.Net 中使用 Mid()、Instr()、LBound()、UBound() 等吗?

    我有 C 背景 但现在主要使用 VB Net 在我看来 上述函数 以及其他函数 例如 UCase LCase 等是 VB6 及之前版本的遗留物 在 VB Net 中使用这些函数是不受欢迎的 还是纯粹取决于个人喜好 我个人的偏好是远离它们 但

随机推荐