Msgbox等到VB.NET

时间:2011-05-25 12:33:48

标签: vb.net visual-studio-2010

是否可以在控制台应用程序中使用没有按钮的Msgbox。我希望弹出一个msgbox,然后在任务完成后消失。或者我可以将msgboxresult发送到某种形式的窗口,当窗口被写入时它会消失吗?

MsgBox("The users on the domain are being gathered. A prompt will appear when all information has been gathered.")
    Dim userFile2 As String = savefileDialog1.FileName & ".txt"
    Dim fileExists2 As Boolean = File.Exists(userFile2)
    Using sw As New StreamWriter(File.Open(userFile2, FileMode.OpenOrCreate))
        For Each d As DirectoryEntry In de.Children()
            sw.WriteLine(d.Name)
        Next
    End Using

2 个答案:

答案 0 :(得分:1)

如果你想拥有一个带有GUI的控制台应用程序,我建议你可以更容易地创建一个WinForms应用程序。只需创建一个新的小型WinForms应用程序,将默认的Form缩小为对话框,并使其只有一个不可见的Close按钮。

然后,您可以在完成时显示Close按钮。

请记住禁用Form上的控制框(右上角的X向上)并处理任何可以关闭它的键盘组合。

编辑:或者,如果由于任何原因你必须将它作为控制台应用程序,那么你仍然可以编写一个小的单独的应用程序,只需要你需要的GUI部分,并让控制台应用程序启动GUI应用程序,发送在文本上显示。

答案 1 :(得分:1)

首先,快点。 MsgBox是一个模态对话框,因此会暂停执行直到用户响应,您无法使用它。

通常,“控制台”应用程序应该是非图形的。

您不希望使用控制台应用程序来取消窗口。由于.Net 4.0可用,您可能需要一个可以写入控制台的WPF应用程序。

有一篇关于在SO上用WPF here输出到控制台的帖子。

您应该使用System.ComponentModel.BackgroundWorker在不同的主题上开展工作。这将允许Window响应用户交互并在任务进行过程中进行渲染。