2011-11-12 13 views
1

私はC#でWindowsフォームを持っています。データベースといくつかのコンボボックス、テキストボックス、ボタンからのレコードのプログレスバーとデータ読み込み

したがって、私はプログレスバーとバックグラウンドワーカーを持つ別のフォームを使用して、メインフォームのデータ読み込みがエンドユーザを苛立たせないようにしました。

public partial class FirstForm : Form 
{ 
    MainForm mf; 
    public FirstForm() 
    { 
     InitializeComponent(); 
     backgroundWorker1.RunWorkerAsync(); 
    } 

    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) 
    { 
     mf = new MainForm(); //inside constructor,code of data loading in gridview 
     mf.Update(); 
    } 
    private void timer1_Tick(object sender, EventArgs e) 
    { 
     if (p1.Value < p1.Maximum)   //p1 name for progressbar 
      p1.Value++; 
     else 
     { 
      timer1.Enabled = false; 
      this.Hide(); 
      mf.Show(); 
     } 
    } 

} 

が、メインフォームが表示されたときに、それが空白と2/3秒のDataGridViewと、他のコントロールが表示された後です。

これを解決する方法は?
またはこの問題を解決するための他のアイデアを提案してください。

答えて

0

programs.cs

static void Main() 
{ 
    Application.EnableVisualStyles(); 
    Application.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture; 

    Application.SetCompatibleTextRenderingDefault(false); 

     System.ComponentModel.BackgroundWorker bw = new System.ComponentModel.BackgroundWorker(); 
     bw.DoWork += new System.ComponentModel.DoWorkEventHandler(bw_DoWork); 
     bw.WorkerSupportsCancellation = true; 
     MainForm = new MainForm(); // creating main form 

bw.RunWorkerAsyncにFirstformと書き込み鉱山で、あなたのコードを削除(); frm.Inittiate(); //最初のフォームにこのメソッドを追加して読み込みを開始します。

 bw.CancelAsync(); // ending splashing 
     Application.Run(frm); 
}  

static void bw_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) 
{ 
    AFirstForm splashForm = new FirstForm(); 
    splashForm.TopMost = true; 
    splashForm.Show(); 
    while (!(sender as System.ComponentModel.BackgroundWorker).CancellationPending) 
    { 
     splashForm.Refresh(); 
    } 
    splashForm.Close();  
    e.Result = splashForm; 
} 
+0

すばやく返信いただきありがとうございます。 – aarti

+0

何かのスプラッシュ画面を表示しますか? – DeveloperX

+0

問題が解決できる場合は、はい。 – aarti

関連する問題