2015-03-25 67 views
0

我想下載一個將使用六個表格的頁面。有6個複選框和6個圖片框。當我點擊按鈕「下載」時,下載開始。因此,在成功下載時,每個複選框都會成功取消選中,但圖像不會顯示。我的代碼完成運行後,所有圖像一起顯示。PictureBox更改圖片下載後

我也嘗試了背景工作,但它不工作。

if (chkBoxA.Checked) 
       { 
        lblInfo.Text = "Downloading table..."; 
        if (DownLoadAsset() == "Success!") 
        { 
         pBoxA.Image = pbsuccess; 

         chkBoxA.CheckState = CheckState.Unchecked; 
        } 
        else 
        { 
         pBoxA.Image = pbfail; 
         chkBoxA.CheckState = CheckState.Checked; 
        } 
       } 

回答

0

您沒有讓應用程序有機會在下載後刷新屏幕。我這樣做的方式是:

  1. 將圖像下載推送到工作線程。您需要使用Invoke來設置線程中控件的Image屬性。
  2. 在下載圖像並設置控件的屬性Image後,執行Thread.Sleep(100)或類似的操作,讓調度程序運行UI線程,它將執行屏幕更新。
+0

我曾嘗試調用和backgroundworker,但沒有工作。用代碼application.doevent解決了它。謝謝。 – user2810084 2015-03-30 02:53:27