Я пишу компонент, у которого есть последовательный порт (C # Component) и некоторые другие функции и события: когда данные получены, они обрабатываются, затем выполняется соответствующее событие.
Моя проблема была:
Когда событие выполнено, во время выполнения произошла следующая ошибка.
Операция с несколькими потоками недопустима: элемент управления «XXXXX» доступен из потока, отличного от потока, в котором он был создан.
Я искал и нашел эти решения.
- Использовать делегат и вызывать.
- Использовать ThreadPool.QueueUserWorkItem.
Но эти решения не запускают мое мероприятие немедленно.
Теперь я хочу, чтобы мое событие было немедленно выполнено без ошибок.
Спасибо.
Дополнительные описания:
Событие компонента таймера tick происходит после истечения времени, и внутри него вы можете работать с пользовательским интерфейсом.
Поэтому я хочу, чтобы мои события были похожи на тик, и у меня есть собственный настраиваемый параметр CustomEventArgs и я собираюсь использовать его вместо EventArgs параметр, что мне делать?