Exemple #1
0
        public static HimmeiSearchResult Show(HimmeiSearchParameter parameter)
        {
            //メッセージボックスの結果
            var openResult = new HimmeiSearchResult();

            //イベントを発行する
            Instance.ShowMessageBox?.Invoke(
                Instance,
                new DialogMessenger.EventArgs()
            {
                HimmeiSearchParameter = parameter,

                //コールバックで結果を受け取る
                NotifyHimmeiSearchResult = result =>
                {
                    openResult = result;
                }
            });

            return(openResult);
        }
Exemple #2
0
            /// <summary>
            /// アクションの実態
            /// </summary>
            /// <param name="parameter"></param>
            protected override void Invoke(object parameter)
            {
                //イベント引数の種別を検査
                var messageBoxArgs = parameter as DialogMessenger.EventArgs;

                if (messageBoxArgs == null)
                {
                    return;
                }

                //メッセージボックスの表示結果を取得
                if (messageBoxArgs.Parameter != null)
                {
                    DialogResult result = Show(messageBoxArgs.Parameter);
                    //コールバックで結果を通知
                    messageBoxArgs.NotifyResult?.Invoke(result);
                }
                else if (messageBoxArgs.SaveParameter != null)
                {
                    FileSaveResult saveResult = Show(messageBoxArgs.SaveParameter);
                    //コールバックで結果を通知
                    messageBoxArgs.NotifySaveResult?.Invoke(saveResult);
                }
                else if (messageBoxArgs.OpenParameter != null)
                {
                    FileOpenResult openResult = Show(messageBoxArgs.OpenParameter);
                    //コールバックで結果を通知
                    messageBoxArgs.NotifyOpenResult?.Invoke(openResult);
                }
                else if (messageBoxArgs.HimmeiSearchParameter != null)
                {
                    HimmeiSearchResult openResult = Show(messageBoxArgs.HimmeiSearchParameter);
                    //コールバックで結果を通知
                    messageBoxArgs.NotifyHimmeiSearchResult?.Invoke(openResult);
                }
            }