我来自C背景,目前我想制作一个具有响应式GUI和长时间运行的工作线程的小型WinForms实用程序。
GUI是常规的Form1派生的东西,有进度指示器和东西,工作线程是new System.Threading.Thread();
种。
在C ++中,一切都很简单,在.NET中我不知道该怎么做。
是否有PostMessage方式进行数据更新?我是否在读取共享锁保护结构的主线程上踢了一个Timer,还有另一种方法吗?在代表上看到多个文档,但是在10篇不同的文章之后它们似乎不起作用,可能是因为我有一个Worker< - > GUI关系,而不是GUI< - > GUI关系。
所有GUI内容都在GUI类中,所有工作人员都在自己的工作类中。托管世界的最佳实践是什么?
答案 0 :(得分:4)
答案 1 :(得分:0)
System.Threading.Tasks
)答案 2 :(得分:0)
这是WinForms Application中的程序类
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
这里只有一个线程[STAThread]
您可以使用[MTAThread]
代替它,以便可以处理多个线程
或者可以使用System.Threading