表格和线程 - 表格没有显示

时间:2014-04-04 18:30:34

标签: vb.net multithreading forms

这是我的代码:

Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim Form2Show As New Thread(AddressOf Form2Thread)
    Form2Show.Start()

    Main()

End Sub

Public Sub Form2Thread()
    Label1.Text = "Loading..."
    Me.Show()
End Sub

我想要做的是启动一个新线程,这会导致一个表单出现(在这种情况下只是一个表示加载的窗口),然后继续执行主子例程。

我对线程并不熟悉,所以我不知道我是否正确行事,但这是基于我在互联网上找到的内容。另外我想要注意,这是在Form2类中运行的,而Form2_Load是程序执行的第一件事。

如果有人有任何建议或更正,我很乐意听到他们!非常感谢你!

编辑:我忘了说发生了什么事。当运行编译的exe时,表单立即关闭,并且在单步执行时根本不显示(虽然我不知道如何逐步处理多个线程)。此外,我在项目的后期还有另一种形式,它也会打开并立即关闭。

1 个答案:

答案 0 :(得分:1)

您需要再次显示Form1,而不是Form2(使用Me.Show(),您将再次访问相同的Form(Form2)。

    Public Sub Form2Thread()
        Label1.Text = "Loading..."
        Form1.Show() '//instead of Me.Show()
    End Sub