[英]turn off progressbar when new window is fired
我有兩種形式。 MainForm
和ProductDetailForm
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.