2012-12-21 83 views
1

我對Windows編程非常陌生,我有一個Windows應用程序,點擊按鈕時,它調用Web服務,並從網絡服務獲取數據,然後插入值到數據庫。我需要爲這一切展示這位女演員吧。下面是我的代碼在我的應用程序上顯示進度條

private void btnService_Click(object sender, EventArgs e) 
{ 
    //call to the web service 
     //get the data 
     //insert the returned data from web service to the database. 
} 

我把進度條控制我的網頁上,但在我看來,我必須分配一定數目的進度條,使其顯示狀態。

+1

這是行不通的,你不知道該服務需要多長時間。將進度條的Style屬性設置爲Marquee。 –

回答

1

,如果您使用的是塊進度條,你可以如果你使用一個後臺工作更新這樣

int totalSteps = 10; 
for (int i= 1; i<= totalSteps; i++) 
{ 
    // One chunk of your code 

    int progress = i * 100/totalSteps; 
    blocksProgressBar.Value = progress; 
} 
blocksProgressBar.Value = 0; 

的地位,酒吧可以這樣

private void btnService_Click(object sender, EventArgs e) 
{ 
    backgroundWorker.RunWorkerAsync(); 
} 

private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) 
{ 
    int totalSteps = 10; 

    for (int i = 1; i <= totalSteps; i++) 
    { 
     // One chunk of your code 

     int progress = i * 100/totalSteps; 
     backgroundWorker.ReportProgress(progress); 
    } 
} 

private void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) 
{ 
    blocksProgressBar.Value = e.ProgressPercentage; 
} 

private void backgroundWorker_Completed(object sender, RunWorkerCompletedEventArgs e) 
{ 
    blocksProgressBar.Value = 0; 
} 

Source更新

相關問題