빠른 질문, 내가 지금까지 작업 표시 줄에 완료윈도우 7 작업 표시 줄 진행
윈도우 7를 들어, 포럼 특정 C#을 WPF의 웹 브라우저를 개발했습니다 :
탭 미리보기
점프리스트
을아이콘 오버레이
이제 다운로드가 시작될 때 WebBrowser가 IE 엔진을 사용하므로 진행 대화 상자가 표시됩니다. 진행 상황이 내 응용 프로그램의 작업 표시 줄 단추에 반영됩니다.
가요? 감사합니다
빠른 질문, 내가 지금까지 작업 표시 줄에 완료윈도우 7 작업 표시 줄 진행
윈도우 7를 들어, 포럼 특정 C#을 WPF의 웹 브라우저를 개발했습니다 :
탭 미리보기
점프리스트
을아이콘 오버레이
이제 다운로드가 시작될 때 WebBrowser가 IE 엔진을 사용하므로 진행 대화 상자가 표시됩니다. 진행 상황이 내 응용 프로그램의 작업 표시 줄 단추에 반영됩니다.
가요? 감사합니다
나는 이것이 Scott Hanselman covered in one of his weekly source code blogs이라고 생각합니다.
당신이 찾고있는 것인지 확실하지 않은지 확실하지 않습니다.
이 답변은 몇 년 된 것이지만 링크가 도움이된다면이 사이트의 대답의 핵심 부분을 게시하거나 게시물의 위험 요소를 삭제하면 도움이 될 것입니다 [자주 묻는 질문을 참조하십시오. more than a link '.] (http://stackoverflow.com/faq#deletion) 원하는 경우'참조 '로만 링크를 포함 할 수 있습니다. 대답은 링크가 필요없이 독자적으로 서 있어야합니다. – Taryn
작업 표시 줄에 넣는 방법을 알고 있습니다. 다운로드 진행률을 잡아서 작업 표시 줄에 진행률을 표시 할 수 있어야합니다. 내가 탐색을 표시하는 방법을 보여주는 코드 조각이 필요없이 코드 사본이 표시되고 셸이 자동으로 그 파일을 선택합니다. 탐색에 필요한
#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
모든 그게 전부입니다 :
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);
그리고 창로드 이벤트에서 촬영 한이 말이
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;
희망. 감사합니다
에 오신 것을 환영합니다! 힌트 : 질문 할 때 더 많은 태그를 사용하십시오. 나는 너를 위해 몇 가지를 추가하여 도왔다. –
진행률을 얻는 방법이나 작업 표시 줄에 넣는 방법을 묻는 중입니까? –