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