C#和Windows窗体中是否有任何对应于PostMessage的内容

本文关键字:PostMessage 任何 Windows 窗体 是否 | 更新日期: 2023-09-27 17:55:08

>我有一个窗口显示多个工作线程的结果,但我的工作线程应该在没有中断的情况下工作(几乎),所以我想将我的通知数据发布到主窗口,我目前正在使用BeginInvoke但它有一个问题!我应该打电话给EndInvoke但在哪里?我应该创建另一个线程来解决这个问题吗?另一种选择是直接使用 PostMessage,但由于我正在学习使用.NET我更喜欢.NET解决方案而不是平台调用(如果可用)。那么我应该怎么做才能在不阻塞我的工作线程的情况下将某些内容发布到主线程?

C#和Windows窗体中是否有任何对应于PostMessage的内容

您应该简单地使用 BeginInvoke ,这直接等同于发布消息。除非对返回值感兴趣,否则根本不需要调用EndInvoke

如果您对返回值感兴趣,那么"我在哪里不能EndInvoke"的答案是显而易见的:在需要返回值以继续之前的最后一刻调用它。