2009-11-18 37 views
5

câu hỏi nhanh, tôi đã phát triển một cụ C# WPF WebBrowser diễn đàn, dành cho Windows 7.Windows 7 Taskbar tiến

Tôi đã hoàn thành cho đến nay cho Taskbar:

Tabbed thumbnails

Jumplists

Lớp phủ biểu tượng

Bây giờ khi trình duyệt WebBrowser sử dụng công cụ trình duyệt IE khi tải xuống bắt đầu hộp thoại tiến trình được hiển thị, tôi sẽ làm gì t là tiến trình được phản ánh trong Nút thanh tác vụ trong ứng dụng của tôi.

Điều này có thể đạt được không? Cảm ơn

+0

Chào mừng bạn đến với SO! Đó là một gợi ý: sử dụng nhiều thẻ hơn khi đặt câu hỏi. Tôi đã giúp bằng cách thêm một số cho bạn. –

+0

Bạn có yêu cầu làm thế nào để có được sự tiến bộ hoặc làm thế nào để đặt nó trong thanh tác vụ? –

Trả lời

3

Tôi tin rằng đây là điều gì đó mà Scott Hanselman covered in one of his weekly source code blogs.

Không chắc đó có phải là điều bạn đang tìm kiếm hay không.

+0

Trong khi câu trả lời này được vài năm và liên kết sẽ hữu ích hơn nếu bạn đăng các phần thiết yếu của câu trả lời ở đây, trên trang web này hoặc rủi ro bài đăng của bạn bị xóa [Xem Câu hỏi thường gặp. nhiều hơn một liên kết '.] (http://stackoverflow.com/faq#deletion) Bạn vẫn có thể bao gồm liên kết nếu bạn muốn, nhưng chỉ là' tham chiếu '. Câu trả lời nên tự đứng lên mà không cần liên kết. – Taryn

0

Tôi biết cách đặt nó vào Thanh tác vụ, tôi chỉ cần nắm bắt tiến độ tải xuống để tôi có thể hiển thị tiến trình trong thanh tác vụ. Heres một đoạn của làm thế nào tôi nhận được nó để hiển thị chuyển hướng, các tập tin sao chép được hiển thị mà không cần mã, vỏ được chọn tự động lên.

#region Background Worker 

    void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) 
    { 
     this.TaskbarItemInfo.ProgressValue = (double)e.ProgressPercentage/100; 

    } 

    void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) 
    { 
     if (e.Cancelled == true) 
     { 
      this.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Paused; 
     } 
     else if (e.Error != null) 
     { 
      this.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Error; 
     } 
     else 
     { 
      this.TaskbarItemInfo.ProgressState = TaskbarItemProgressState.None; 
     } 
    } 

    void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) 
    { 
     for (int i = 1; i <= 100; i++) 
     { 
      Thread.Sleep(100); 

      this.backgroundWorker1.ReportProgress(i,i.ToString()); 
     } 
      } 
     } 
    } 

    #endregion 

Tất cả thats cần thiết cho các mục chính là:

private void Browser_Navigated(object sender, WebBrowserNavigatedEventArgs e) 
    { 
     if (backgroundWorker1.IsBusy == false) 
     { 
      backgroundWorker1.RunWorkerAsync(); 

      TaskbarItemInfo.ProgressState = TaskbarItemProgressState.Normal; 
     } 

     if (tabControl1.TabPages.Count > 10 && tabControl1.SelectedTab != null) 
      UpdatePreviewBitmap(tabControl1.SelectedTab); 

Và lấy từ Window tải sự kiện:

 this.backgroundWorker1.WorkerReportsProgress = true; 
     this.backgroundWorker1.WorkerSupportsCancellation = true; 
     this.backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork); 
     this.backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted); 
     this.backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged); 

     // 
     TabbedThumbnail preview = new TabbedThumbnail(this.Handle, tabPage.Handle); 
     // 
     preview.TabbedThumbnailActivated += new EventHandler<TabbedThumbnailEventArgs>(preview_TabbedThumbnailActivated); 
     preview.TabbedThumbnailClosed += new EventHandler<TabbedThumbnailEventArgs>(preview_TabbedThumbnailClosed); 
     preview.TabbedThumbnailMaximized += new EventHandler<TabbedThumbnailEventArgs>(preview_TabbedThumbnailMaximized); 
     preview.TabbedThumbnailMinimized += new EventHandler<TabbedThumbnailEventArgs>(preview_TabbedThumbnailMinimized); 
     // 
     TaskbarManager.Instance.TabbedThumbnail.AddThumbnailPreview(preview); 
     // 
     tabControl1.SelectedTab = tabPage; 
     TaskbarManager.Instance.TabbedThumbnail.SetActiveTab(tabControl1.SelectedTab); 
     // 

     scrollEventAdded = false; 

Hy vọng điều này có ý nghĩa. Cảm ơn