toolTip.SetToolTip(autoCloseCheckBox,\r
string.Format("エラーがなく正常に終了した場合、{0}秒後に自動的にこのダイアログを閉じます", autoCloseTimer.Interval/1000));\r
}\r
+ \r
+ #region Downloader関連\r
\r
private void onDownloadEvent(object sender, DownloadEventArgs a)\r
{\r
}\r
}\r
\r
+ #endregion\r
+ \r
#region NaGetTaskSet関連\r
\r
private void onTaskEventRaised(object sender, TaskEventArgs e)\r
}\r
}\r
\r
+ private void onSubTaskEventRaised(object sender, TaskEventArgs e)\r
+ {\r
+ switch (e.Type) {\r
+ case TaskEventType.STARTED:\r
+ progressSubLabel.Text = e.TaskMessage;\r
+ \r
+ progressBarSub.Visible = true;\r
+ progressSubLabel.Visible = true;\r
+ break;\r
+ case TaskEventType.PING:\r
+ progressSubLabel.Text = e.TaskMessage;\r
+ break;\r
+ case TaskEventType.COMPLETED:\r
+ progressBarSub.Visible = false;\r
+ progressSubLabel.Visible = false;\r
+ break;\r
+ case TaskEventType.WARNING:\r
+ logBox.SelectionColor = System.Drawing.Color.Red;\r
+ logBox.AppendText(" [エラー] " + e.TaskMessage + System.Environment.NewLine);\r
+ logBox.SelectionColor = logBox.ForeColor;\r
+ break;\r
+ case TaskEventType.ERROR:\r
+ progressBarSub.Visible = false;\r
+ progressSubLabel.Visible = false;\r
+ \r
+ logBox.SelectionColor = System.Drawing.Color.Red;\r
+ logBox.AppendText(" [エラー] " + e.TaskMessage + System.Environment.NewLine);\r
+ logBox.SelectionColor = logBox.ForeColor;\r
+ break;\r
+ }\r
+ \r
+ // ダウンロードの進捗を表示\r
+ if (e.ProgressPercent >= 0) {\r
+ progressBarSub.Value = (int) e.ProgressPercent;\r
+ progressBarSub.Style = ProgressBarStyle.Continuous;\r
+ } else {\r
+ progressBarSub.Style = ProgressBarStyle.Marquee;\r
+ }\r
+ }\r
+ \r
private NaGetTaskQueryResult onTaskQueryRaised(object sender, NaGetTaskQueryArgs e)\r
{\r
MessageBoxButtons buttons = MessageBoxButtons.OKCancel;\r
}\r
};\r
\r
- System.Reflection.PropertyInfo fDownloader = taskSet.GetType().GetProperty("Downloader");\r
- if (fDownloader != null && (fDownloader.PropertyType == typeof(Downloader))) {\r
- ((Downloader) fDownloader.GetValue(taskSet, null)).DownloadEventRaised += onDownloadEvent;\r
+ NaGetTaskSet2 taskSet2 = taskSet as NaGetTaskSet2;\r
+ if (taskSet2 != null) {\r
+ taskSet2.SubTaskEventRaised += delegate(object sender, TaskEventArgs e) {\r
+ if (InvokeRequired) {\r
+ Invoke(new EventHandler<TaskEventArgs>(onSubTaskEventRaised), sender, e);\r
+ } else {\r
+ onSubTaskEventRaised(sender, e);\r
+ }\r
+ };\r
+ } else { // 古いコード\r
+ System.Reflection.PropertyInfo fDownloader = taskSet.GetType().GetProperty("Downloader");\r
+ if (fDownloader != null && (fDownloader.PropertyType == typeof(Downloader))) {\r
+ ((Downloader) fDownloader.GetValue(taskSet, null)).DownloadEventRaised += onDownloadEvent;\r
+ }\r
}\r
\r
taskSet.TaskQueryRaised += onTaskQueryRaised;\r