2012-01-18 54 views
3

我不知道如何可以做到以下幾點:在任務欄中顯示一個進度條形式的同時最小化

我想,同時最小化我的窗口顯示在任務欄上一個進度的進度。有關視覺描述,請參閱here

看看窗口中的主進度條後,任務欄上的圖標如何逐漸用綠色填充?

有人能告訴我該怎麼做嗎?

更新:

我下載的Windows API代碼包,在我的項目中引用它,並寫了下面的代碼,但是當我運行我的應用程序遞增PBAR,並儘量減少沒有任何反應:

private void updatepbar() 
    { 
     tpb.Value = progressBar1.Value; 
    } 

     timer1.Tick += new EventHandler(delegate { updatepbar(); }); 
     timer1.Interval = 1000; 
     timer1.Start(); 

什麼時我做錯了? 非常感謝

+4

http://stackoverflow.com/questions/4155003/net-progress-bar-in-taskbar-on-windows-7 – 2012-01-18 11:06:38

+0

相似的問題:http://stackoverflow.com/questions/1295890/windows- 7-progress-bar-in-taskbar-in-c – basti 2012-01-18 11:07:41

回答

2

http://windowsteamblog.com/windows/b/developers/archive/2009/07/28/windows-7-taskbar-dynamic-overlay-icons-and-progress-bars.aspx

Taskbar.ProgressBar.State = 
(TaskbarButtonProgressState)Enum.Parse(
     typeof(TaskbarButtonProgressState), 
     (string)comboBoxProgressBarStates.SelectedItem); 

if (Taskbar.ProgressBar.State != TaskbarButtonProgressState.Indeterminate) 
    Taskbar.ProgressBar.CurrentValue = progressBar1.Value; 
+1

任務欄無法在VS 2010中識別,請參閱我的更新 – sparky 2012-01-18 14:06:09

0

它只適用於Windows7,您可以輕鬆使用Microsoft-Api。

WindowsTeamBlogMSDN上的一個很好的示例進行了解釋。

0

你可以只使用一個標準的進度在你的主要形式 - Windows 7將檢測到它,並模仿它會自動在任務欄上:

http://windowsteamblog.com/windows/b/developers/archive/2009/07/28/windows-7-taskbar-dynamic-overlay-icons-and-progress-bars.aspx

如果您已經在您的應用程序頂級 級別窗口中使用標準進度條,則DMW將選取它並默認顯示其 作爲您的應用程序之上的覆蓋層進展。但是,您可以 以編程方式控制應用程序圖標上的進度欄行爲。

+0

雖然這是我的情況,我沒有看到這種效果。我的主窗體中有一個進度條,但是當我最小化我的應用程序時,什麼都不會發生。 – sparky 2012-01-18 15:39:54

相關問題