WindowsAPICodePack内のTaskDialogを使用しています。 TaskDialogProgressBarとTaskDialogButtonを使わずにTaskDialogを作成しようとすると、それは後続の例外をスローします。ProgressBarとカスタムボタンの両方でTaskDialogを表示しているエラー
System.ComponentModel.Win32Exceptionが処理されませんでした。 メッセージ= Win32呼び出しに無効な引数があります。 ソース= Microsoft.WindowsAPICodePack ErrorCode = -2147467259 NativeErrorCode = 0 InnerException:System.ArgumentException メッセージ=値が予想される範囲内にない。 InnerException:
状況を報告するために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();
EventHandlerは
void OnCloseClick(object sender, EventArgs e)
{
if (_taskDialog != null)
_taskDialog.Close();
}
-Mattをクリックします。