如何在顯示ProgressBar的同時執行方法,然後顯示Form?如何在顯示ProgressBar時執行方法,然後在顯示Form後執行?
private void btnCienciaEmissao_Click(object sender, EventArgs e)
{
var progressForm = new ProgressBar.frmPBText();
var retornoManifestacao = new frmConsultaNotaEmitidaContraCNPJAntigoRetornoManifestacao();
var threadProcesso = new Thread(() =>
{
Parametros.DgvRetornoManifestacao = ExecutaManifestacao();
progressForm.BeginInvoke(new Action(() => { progressForm.Close(); }));
retornoManifestacao.BeginInvoke(new Action(() => { retornoManifestacao.dgvRetornoManifestacaoDataSource(Parametros.DgvRetornoManifestacao);}));
});
threadProcesso.Start();
progressForm.Show();
// I WANT TO SHOW RetornoManifestacao ONLY AFTER threadProcesso FINISHED
retornoManifestacao.Show();
}
我希望表單retornoManifestacao
顯示threadProcesso
結束後。
如果我使用retornoManifestacao.Show()
,就像上面那樣,表格會出現在threadProcesso
之前。我需要它在Thread結束後纔出現。
我嘗試使用threadProcesso.Join()
,但progressForm
凍結。
我的progressForm
有一個選取框樣式ProgressBar
,所以沒有必要報告進度。
其實很容易做到..perhaps你應該做一個谷歌搜索如何創建一個啓動畫面和或顯示一個窗體前顯示一個進度欄.. – MethodMan 2015-02-09 20:52:01
這將有助於看到更多的細節 - 確切地說,你被困住,哪部分你需要幫助,什麼錯誤你會得到(如果有的話)。 – 2015-02-09 21:06:04
@GrantWinney如果我使用RetornoManifestacao.Show(),就像上面那樣,表單會在threadProcesso結束之前出現。我需要它在Thread結束後纔出現。 – 2015-02-09 21:43:07