2017-09-18 27 views
-2

私のC#winformsアプリケーションでは、フォームを表示しながらLoadDataAsyncメソッドでデータをロードしていますが、データをロードする前にスプラッシュ画面の表示を開始します。私が間違ってやっていることや誰かのアイデアを案内することができます。メソッドを実行中にWatiFormを表示する方法

public partial class DepartmentListDetailView : BaseForm 
    { 
     private DepartmentDataScope _departmentDataScope; 
     private AppConfigDataScope _appConfigDataScope; 
     private DepartmentSearch _departmentSearch; 

     public DepartmentListDetailView() : base() 
     { 
      InitializeComponent(); 
      Init(); 
     } 

     private async void Init() 
     { 
      _departmentDataScope = new DepartmentDataScope(); 
      _appConfigDataScope = new AppConfigDataScope(); 
      _departmentSearch = new DepartmentSearch(); 
      var res = await LoadDataAsync(); 
     }   

     private async Task<bool> LoadDataAsync() 
     { 
      Ssm.ShowWaitForm(); // before loading the data, I want to display the spalsh screen   

      var result = await _departmentDataScope.FetchDataAsync(); 
      BbiSearch.Enabled = true; 
      if (Ssm.IsSplashFormVisible) 
      { 
       this.Invoke((MethodInvoker) Ssm.CloseWaitForm); 
      } 
      return true; 
     } 
    } 

おかげ

答えて

0

はコードの下のような非同期メソッドを呼び出す前に、それを表示します。

 Ssm.ShowWaitForm(); 
     var res = await LoadDataAsync(); 
     if (Ssm.IsSplashFormVisible) 
     { 
      this.Invoke((MethodInvoker) Ssm.CloseWaitForm); 
     } 
関連する問題