0

我正在开发一个 VB.Net 控制台应用程序以从用户那里获取 ID 和密码,并且在输入无效 ID 或密码时应该弹出一条消息,但是我在控制台应用程序中使用消息框时遇到了一个特殊的行为。当显示第一个消息框时,它是失焦的,我们明确需要使消息框聚焦。但下一个后续消息框是焦点。

下面只是示例代码。

Sub Main()
Start:
    Console.WriteLine("Press Enter")
    Console.ReadLine()
    MsgBox("Good Day")
    GoTo Start
End Sub

只是想知道为什么会发生这样的事情以及应该怎么做才能使第一个消息框也成为焦点。?

4

1 回答 1

3

您可以使用MessageBoxOptions.ServiceNotification来在顶部显示对话框。

这是从 C# 应用程序转换而来的,因此不确定这是否正确 VB.NET(应该是正确的):

MsgBox( "Good Day"
      , ""
      , MessageBoxButtons.OK
      , MessageBoxIcon.Asterisk
      , MessageBoxDefaultButton.Button1
      , MessageBoxOptions.ServiceNotification
      )

但请注意:

您不应该MessageBox在控制台应用程序内部使用。这只是两个不同的世界。

解释原因:

当您使用控制台远程运行此应用程序时,您期望什么?那时没有办法显示该消息框。使用Console.WriteLine,但如果要显示错误、警告或好的东西,请使用不同的颜色。

于 2014-05-30T07:52:22.493 回答