控制台应用程序 - 第一个消息框没有聚焦

时间:2014-05-30 07:44:38

标签: vb.net console-application messagebox msgbox

我正在开发一个VB.Net控制台应用程序来获取ID&来自用户的密码,当输入无效的ID或密码时应该弹出一条消息,但我在使用控制台应用程序中的消息框时遇到了一种奇怪的行为。当显示第一个消息框时,它的Out-Of-Focus&我们明确需要将消息框放在焦点上。但接下来的后续消息框是In-Focus。

以下是示例代码。

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

只是想知道为什么会发生这样的事情&应该做什么,所以第一个消息框也将是In-Focus。?

1 个答案:

答案 0 :(得分:2)

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

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

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

但请注意:

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

解释原因:

使用控制台远程运行此应用程序时,您有何期望?那时无法显示该消息框。使用Console.WriteLine,但如果您想要显示错误,警告或其他好事,请使用不同颜色。