我在VB.NET中有一个类,它有一个返回数字的方法(称为CurrentValue)。还有一个事件是班级提出来表明号码已经改变。在我的表单上的事件处理程序中,我使用公开的方法更新文本框。
有点像这样:
Public WithEvents MyClass as New CustomClass
Private Sub MyClass_DataChanged() Handles MyClass.DataChanged
Text1.Text = MyClass.CurrentValue
End Sub
当我运行它时,我收到“Debugger.Runtime.CrossThreadMessagingException”错误。有什么可以这样做的?我正在以包含文本框的相同形式实例化MyClass。
我也可以毫无困难地设置MyClass对象的属性。
答案 0 :(得分:0)
好的,这就是我的所作所为:
在我有这个处理事件的形式:
Public Delegate Sub MyClassDataChangedDelegate()
Sub MyClassDataChanged() Handles MyClass.DataChanged
If Me.InvokeRequired Then
Me.Invoke(New MyClassDataChangedDelegate(AddressOf MyClassDataChanged))
Else
Me.Text1.Text = MyClass.CurrentValue
End If
End Sub
这似乎有效。谢谢你的建议。