none
Form2顯示問題 RRS feed

  • 問題

  • 在跳出式視窗中我發現一個問題,就是會無法顯示出form2的內容

    只有出現form2的視窗,但是裡面的button、label、textbox都會只出現白色一塊

    無法正確顯示

     private void button1_Click(object sender, EventArgs e)
            {
                Form2 form2 = new Form2();      
                //顯示跳出視窗
                form2.Show();
    
                //要執行的程式放這
    
                //關閉跳出視窗
                form2.Close();
              
            }

    botton執行的程式是一個複製檔案的程式,因為需要就長的時間

    所以我使用form2來告知使用者等待,但卻遇到form2內容無法顯示的問題

    想請問是因為什麼原因會出現這樣的結果

    還請各位高手解救沒有天分的初學者 感謝

    2018年3月12日 上午 07:56

解答

  • 複製檔案獨佔這個 Process 執行緒,所以畫面不會更新。

    改善方案三選一:

    1. form2.Refresh

    2. 呼叫 DoEvents

    3. 複製檔案改用 work thread


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已標示為解答 Pan_ty 2018年3月13日 上午 01:36
    2018年3月12日 上午 11:17
  • 您可以考慮叫用FileSystem的CopyFile功能, 就會自動顯示複製檔案的動畫(包括檔案複製的進度), 不需要再製作Form2, 也不用煩惱進度顯示的問題
    • 已標示為解答 Pan_ty 2018年3月14日 上午 01:39
    2018年3月13日 上午 12:33

所有回覆

  • 複製檔案獨佔這個 Process 執行緒,所以畫面不會更新。

    改善方案三選一:

    1. form2.Refresh

    2. 呼叫 DoEvents

    3. 複製檔案改用 work thread


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已標示為解答 Pan_ty 2018年3月13日 上午 01:36
    2018年3月12日 上午 11:17
  • 您可以考慮叫用FileSystem的CopyFile功能, 就會自動顯示複製檔案的動畫(包括檔案複製的進度), 不需要再製作Form2, 也不用煩惱進度顯示的問題
    • 已標示為解答 Pan_ty 2018年3月14日 上午 01:39
    2018年3月13日 上午 12:33