簡體   English   中英

觸發新窗口時關閉進度條

[英]turn off progressbar when new window is fired

我有兩種形式。 MainFormProductDetailForm

MainForm內部有txtSearchBox輸入框和一些用於過濾搜索的單選值。 搜索執行時,將顯示progressbar 最初,進度條設置為Visible = false;

在btnSearch點擊事件上,我正在調用background_worker進行搜索。 立即將progressbar設置為Visible = true。

當找到數據並且在MainForm progressBar上打開新窗口( ProductDetailForm )仍然可見時,所以我的問題是在打開新窗口時如何將Visible設置為false。

private void bntSearch_Click(object sender, EventArgs e)
{
   progressBarControll.Visible = true;
   backgroundWorker1.RunWorkerAsync();
}

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{   
   MyData data = repository.GetData(1);
   // tried here  progressBarControll.Visible = false;
   // but it raises an exception
   var detailsForm = new ProductDetailForm(data);

}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
     progressBarControll.Visible = false;
}

您可以將打開新表單並將進度條隱藏到RunWorkerCompleted方法中:

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{   
   MyData data = repository.GetData(1);
}

private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
     progressBarControll.Visible = false;
     var detailsForm = new ProductDetailForm(data);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM