c#winform加载屏幕
我想在函数中添加一个加载表单c#winform加载屏幕,c#,.net,winforms,async-await,C#,.net,Winforms,Async Await,我想在函数中添加一个加载表单 private async void Test() { // 1, show loading form await DoTest(); //2, close loading form } 加载表单需要阻止主表单,首先,我尝试运行表单ShowDialog(),但它会停止以下函数 做这件事最好的办法是什么 我的最终解决方案: private async void Test() { // 1, show loading form
private async void Test()
{
// 1, show loading form
await DoTest();
//2, close loading form
}
加载表单需要阻止主表单,首先,我尝试运行表单ShowDialog()
,但它会停止以下函数
做这件事最好的办法是什么
我的最终解决方案:
private async void Test()
{
// 1, show loading form
var loadingScreen = new LoadingForm();
Task.Factory.StartNew(delegate
{
Invoke((Action)delegate
{
loadingScreen.ShowDialog(App.Views.Forms.RobotActiveView);
});
});
await DoTest();
//2, close loading form
Invoke((Action)delegate
{
loadingScreen.Close();
});
}
显示加载表单并禁用当前表单
this.Enabled = false;
var loadingForm = new LoadingForm();
loadingForm.Show();
...
loadingForm.Close();
this.Enabled = true;
加载表单的全部目的是防止用户交互吗?@AlexW是的,作为下载功能,加载数据等等…@CodyGray在启动应用程序时不显示初始屏幕。加载屏幕用于等待“大”function@CodyGray这不是一个重复的案例……好主意,给了我灵感,但我的程序是MVP,所以我将尝试在Presenter禁用表单。