我遇到了一个跨线程错误的问题。我的程序中有一个线程正在调用,所有内容都决定将其删除。它现在似乎认为我仍然有一个线程,我正在导致跨线程错误。
删除的线程是我添加的唯一线程。
我的问题是,如果没有创建单独的线程,程序如何仍然是跨线程的?
很抱歉没有代码,但我觉得发布一个完整的模块和两个完整的课程'没有帮助。
我发现我的模块运行在一个单独的线程上而不是其他两个类'。我将尝试在一秒钟内发布一些代码。
修改
我有11个线程正在运行,这是Debug-> Windows->线程的输出:
Unflagged 3640 2 Worker Thread <No Name> Highest
Unflagged 4120 3 Worker Thread <No Name> Normal
Unflagged 3436 6 Worker Thread <No Name> Normal
Unflagged 4128 7 Worker Thread vshost.RunParkingWindow [Managed to Native Transition] Normal
Unflagged 4788 8 Worker Thread .NET SystemEvents [Managed to Native Transition] Normal
Unflagged 5536 9 Main Thread Main Thread [Managed to Native Transition] Normal
Unflagged 3260 10 Worker Thread PnP message thread [Managed to Native Transition] Normal
Unflagged 4828 12 Worker Thread <No Name> Normal
Unflagged 3888 15 Worker Thread <No Name> Normal
Unflagged > 448 16 Worker Thread Event thread: MagTek Msr NAMESPACE.POS.myMsr_DataEvent Normal
Unflagged 6008 17 Worker Thread HidThread: MagTek Msr [In a sleep, wait, or join] Normal
当前线程为Id“448”且ManagedId为“16”,而主线程为Id“5536”且managedId为“9”。
有没有办法强制事件在主线程上发生?