/// <summary> /// 非同期処理からメッセージボックスを表示する(Win)。 /// </summary> /// <param name="messageBoxText">メッセージ テキスト</param> /// <param name="caption">Caption</param> /// <param name="button">表示するボタン</param> /// <param name="icon">表示するアイコン</param> /// <returns>MessageBoxResult</returns> /// <remarks>主スレッドで表示するメッセージボックスを呼び出す)</remarks> public DialogResult ShowAsyncMessageBoxWin(string messageBoxText, string caption, MessageBoxButtons button, MessageBoxIcon icon) { // 非同期処理からメッセージボックスを表示するメソッドのdelegate ShowAsyncMessageBoxDelegateWin showAsyncMessageBoxDelegateWPF = new ShowAsyncMessageBoxDelegateWin(this._ShowAsyncMessageBoxWin); // 引数の作成 object[] args = new object[] { messageBoxText, caption, button, icon }; // オブジェクトの型によって振り分け if (this.thisWinForm != null) { // 副スレッドなので、Dispatcher.Invokeを経由して主スレッドで呼び出す。 if (this.thisWinForm.IsDisposed) { // Closeされた return(DialogResult.None); } else { // Closeされていない return((DialogResult)this.thisWinForm.Invoke(showAsyncMessageBoxDelegateWPF, args)); } } else { // 型の不一致 throw new FrameworkException( FrameworkExceptionMessage.ASYNC_MSGBOX_ERROR[0], FrameworkExceptionMessage.ASYNC_MSGBOX_ERROR[1]); } }
/// <summary> /// 非同期処理からメッセージボックスを表示する(Win)。 /// </summary> /// <param name="messageBoxText">メッセージ テキスト</param> /// <param name="caption">Caption</param> /// <param name="button">表示するボタン</param> /// <param name="icon">表示するアイコン</param> /// <returns>MessageBoxResult</returns> /// <remarks>主スレッドで表示するメッセージボックスを呼び出す)</remarks> public DialogResult ShowAsyncMessageBoxWin(string messageBoxText, string caption, MessageBoxButtons button, MessageBoxIcon icon) { // 非同期処理からメッセージボックスを表示するメソッドのdelegate ShowAsyncMessageBoxDelegateWin showAsyncMessageBoxDelegateWPF = new ShowAsyncMessageBoxDelegateWin(this._ShowAsyncMessageBoxWin); // 引数の作成 object[] args = new object[] { messageBoxText, caption, button, icon }; // オブジェクトの型によって振り分け if (this.thisWinForm != null) { // 副スレッドなので、Dispatcher.Invokeを経由して主スレッドで呼び出す。 if (this.thisWinForm.IsDisposed) { // Closeされた return DialogResult.None; } else { // Closeされていない return (DialogResult)this.thisWinForm.Invoke(showAsyncMessageBoxDelegateWPF, args); } } else { // 型の不一致 throw new FrameworkException( FrameworkExceptionMessage.ASYNC_MSGBOX_ERROR[0], FrameworkExceptionMessage.ASYNC_MSGBOX_ERROR[1]); } }