我在 WindowsAPICodePack 中使用 TaskDialog。当我尝试在没有 TaskDialogProgressBar 和 TaskDialogButton 的情况下创建 TaskDialog 时,它会引发以下异常。
System.ComponentModel.Win32Exception 未处理 Message=Win32 调用的参数无效。Source=Microsoft.WindowsAPICodePack ErrorCode=-2147467259 NativeErrorCode=0 InnerException: System.ArgumentException Message=Value 不在预期范围内。内部异常:
我希望有一个带有 ProgressBar 的 TaskDialog 来报告状态,但我不希望用户在进度完成之前关闭对话框。所以我使用的是 TaskDialogButton 而不是标准关闭按钮。
这是我正在使用的代码。
_taskDialog = new TaskDialog();
_taskDialog.Cancelable = true;
_taskDialog.Caption = "Delete Account";
_taskDialog.InstructionText = "Deleting Account(s)";
_taskDialog.Text = "Please wait until the delete operation completes.";
TaskDialogProgressBar progressbar = new TaskDialogProgressBar();
progressbar.State = TaskDialogProgressBarState.Marquee;
_taskDialog.ProgressBar = progressbar;
TaskDialogButton btnClose = new TaskDialogButton();
btnClose.Click += new EventHandler(OnCloseClick);
_taskDialog.Controls.Add(btnClose);
//_taskDialog.StandardButtons = TaskDialogStandardButtons.Close;
_taskDialog.Icon = TaskDialogStandardIcon.Information;
_taskDialog.OwnerWindowHandle = this.Handle;
_taskDialog.StartupLocation = TaskDialogStartupLocation.CenterOwner;
_taskDialog.Show();
关闭按钮单击的事件处理程序
void OnCloseClick(object sender, EventArgs e)
{
if (_taskDialog != null)
_taskDialog.Close();
}
-马特。