要在Winform中实现异步加载窗体,可以使用Task
类来实现。以下是一个示例代码:
private async void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
await Task.Run(() =>
{
// 模拟耗时操作
System.Threading.Thread.Sleep(3000);
});
form2.Show();
}
在上面的示例中,当点击button1
按钮时,会创建一个Form2
窗体,并通过Task.Run
方法在另一个线程中执行耗时操作。在操作完成后,再将Form2
窗体显示出来。
需要注意的是,由于Winform是单线程模型,所以在异步加载窗体时需要确保对UI线程的访问是安全的。