【问题标题】:How does MsgBox() affect the exection of the VB.NET program?MsgBox() 如何影响 VB.NET 程序的执行?
【发布时间】:2017-10-06 13:03:05
【问题描述】:

我有一个旧的 VB6 应用程序,我正在改写为 VB.NET 并且之前的程序员在验证 MaskedTextBox 时设置了这种东西组件:

MsgBox("My message")
b = True
myField.Focus()

基本上,一个消息框是打开的,如果验证失败,焦点应该转到其他 myField 文本组件。

我将 Enter 事件更改为 GotFocus,现在当验证失败时,我将永远停留在当前文本字段上。由于不断出现的消息框,我什至无法关闭窗口。

我通过将其他语句移到 MsgBox() 命令上方,解决了 GotFocus 上的问题。

是的,它现在运行良好,但真的想了解 MsgBox 如何影响程序的执行?

【问题讨论】:

  • MsgBox 将停止执行,直到选择了一个操作,这在您想从其中获取DialogResult 时很有帮助,例如提出问题并检索是或否值。
  • 请使用正确的标签。这里没有 VB6 的问题,将代码移植到不同的语言不是“升级”。

标签: vb.net visual-studio-2005


【解决方案1】:

来自 MSDN:

显示一个消息窗口,也称为对话框,它显示 给用户的消息。它是一个模态窗口,阻止其他操作 应用程序,直到用户关闭它。 MessageBox 可以包含 通知和指导用户的文本、按钮和符号。

我只能猜测它要么用于调试,要么用于向用户发出错误消息。

如果是错误消息,这可能会有所帮助:Call MessageBox from async thread with Form1 as parent

【讨论】:

  • 它主要用于验证输入数据,因此没有调试目的。我现在使用 Try/Catch 进行调试。我应该仍然使用 MsgBox 来验证数据还是有更好的方法?
猜你喜欢
  • 2018-09-29
  • 2018-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多