Raiseevent Triggers a "Debugger.runtime.crossthreadmessagingException"
-
14-11-2019 - |
Вопрос
У меня есть класс в VB.NET, который имеет метод (называемый currentValue), который возвращает номер.Существует также событие, которое класс поднимает, чтобы указать, что номер изменился.В обработчике событий в моем виде я обновляю текстовое поле, используя открытый метод.
Как это нравится:
Public WithEvents MyClass as New CustomClass
Private Sub MyClass_DataChanged() Handles MyClass.DataChanged
Text1.Text = MyClass.CurrentValue
End Sub
.
Когда я запускаю это, я получаю сообщение «Debugger.runtime.CrossthreadMessageException».Что может сделать это?Я создал MyClass в той же форме, которая содержит текстовое поле.
Я также могу установить свойства объекта MyClass без проблем.
Решение
Хорошо, вот что я сделал:
В форме у меня есть это для обработки события:
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
.
Это кажется работать.Спасибо за предложение.
Не связан с StackOverflow