更改在从另一个线程创建的表单上创建的文本字段的文本属性

时间:2014-01-04 07:45:42

标签: .net vb.net multithreading winforms

假设我有一个具有两种形式的应用程序,我是主要形式,并且想要在一个单独的线程中创建另一个表单,因为它是一个状态监视器,用于在主窗体中执行很长的进程。所以我想更改状态监视器文本框的文本属性,但问题是另一个线程上的第二个表单。

我正在使用的代码

 Dim _thread As Threading.Thread = New Threading.Thread(Sub()
                                    Using frm As New frmProcessMonitor
                                       Application.Run(frm)
                                           End Using
                                           End Sub)
      _thread.Start()

所以请在这种方法中如何做到这一点。

1 个答案:

答案 0 :(得分:-1)

我会研究System.Threading.Tasks.Task ..

这样的东西
var frmCreationTask = Task.TaskFactory.StartNew(() => { /*Form generation code here */ }).ContinueWith(() => { //code to change the property } );

代码在c#中,但应该很容易移植到VB。