VB.net使用delgates来显示收到的数据

时间:2017-04-03 12:48:50

标签: vb.net multithreading

我仍然没有得到它。这似乎很容易,但它确实起作用。 我原来有一个"显示收到的数据问题"在我的申请中。因为我不确定,如果我的问题得到了解决,我就会将其缩小。现在我尝试使用delgate到文本框来显示收到的数据。 请:这是一个理解问题的问题,我当然读过很多文章,只是因为它不起作用我现在在这里发布。

我做了以下事情:

在我的MSCom_DataReceived方法中,我声明如下:

Dim MeineAusgabe As Form_Dashboard.TextBox2_Delegate

在我的类Form_Dashboard中,定义如下:

Public Delegate Sub TextBox2_Delegate(ByVal msg As String)

我的MSCom_DataReceived方法调用delgate:

MeineAusgabe = AddressOf Form_Dashboard.PrintData
MeineAusgabe.Invoke(buffer)

这是PrintData:

Public Sub PrintData(ByVal sdata As String)
    Me.TextBox2.Text = sdata
End Sub

如果我调试此代码,收到的数据将转到TextBox2,但在运行时我的表单中,我无法看到它。 这似乎很容易,所以我希望有人能以正确的方式送我。

1 个答案:

答案 0 :(得分:0)

它适用于自己的线程和delgate。有趣的是,它不适用于不同的模块。在我复制了在我的表单类中进行接收的模块后,它可以工作。这不是很令人满意。