在另一个WinForm代码中以编程方式打开WinForm

soo*_*ise 1 c# winforms

祝周五快乐!我正在构建一个多WinForm应用程序,并且遇到了一些麻烦.

我有一个主要的WinForm,始终保持打开状态.它每分钟都会访问一个数据库,寻找变化,如果有变化,它将打开第二个WinForm(这看起来像是一种愚蠢的做事方式,但出于我的目的,这是最好的方法).

只是将以下代码粘贴到我的Form1.cs中并不能解决问题:

Application.Run(new Form2());
Run Code Online (Sandbox Code Playgroud)

你们能指出我正确的方向吗?我不知道在哪里转.

Kyl*_*ndo 8

Form2 form2 = new Form2();
form2.Show();
Run Code Online (Sandbox Code Playgroud)

并且为了防止大量表格被打开,可能:

Form2 form2 = new Form2();
form2.ShowDialog();
Run Code Online (Sandbox Code Playgroud)

@评论:

A BackgroundWorker用于保持当前 UI线程的响应.它的设计并不是为了保持多种形式的快节奏.看看你的运行密集型代码为后台线程ThreadPool.