示例#1
0
        public static MessageBoxResult Show(Window owner, string messageBoxText, string caption, IList <MessageBoxButtonInfo> ctrlButtons)
        {
            var mbox = new MessageBoxModule();

            mbox.Message = messageBoxText;
            mbox.Title   = caption;
            mbox.Owner   = owner;

            IsUseCustomInfoDefine(ref mbox);

            if (owner != null)
            {
                mbox.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            }

            if (null != ctrlButtons && ctrlButtons.Count > 0)
            {
                foreach (var btnInfo in ctrlButtons)
                {
                    switch (btnInfo.Result)
                    {
                    case MessageBoxResult.Cancel:
                    case MessageBoxResult.No:
                    {
                        var btn = CreateCtrlButtonWithResult(mbox, btnInfo.ContentText, false, btnInfo.Action, btnInfo.IsDefault);
                        mbox.CtrlButtonCollection.Add(btn);
                    }
                    break;

                    case MessageBoxResult.None:
                    {
                        var btn = CreateCtrlButtonWithResult(mbox, btnInfo.ContentText, null, btnInfo.Action, btnInfo.IsDefault);
                        mbox.CtrlButtonCollection.Add(btn);
                    }
                    break;

                    case MessageBoxResult.OK:
                    case MessageBoxResult.Yes:
                    default:
                    {
                        var btn = CreateCtrlButtonWithResult(mbox, btnInfo.ContentText, true, btnInfo.Action, btnInfo.IsDefault);
                        mbox.CtrlButtonCollection.Add(btn);
                    }
                    break;
                    }
                }

                var result = mbox.ShowDialog();
                return(MessageBoxResult.None);
            }
            else
            {
                return(Show(owner, messageBoxText, caption, MessageBoxButton.OK));
            }
        }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="owner"></param>
        /// <param name="messageBoxText"></param>
        /// <param name="caption"></param>
        /// <param name="button"></param>
        /// <param name="icon">为兼容 System.Windows.MessageBox 的留白.</param>
        /// <param name="defaultResult"></param>
        /// <returns></returns>
        public static MessageBoxResult Show(Window owner, string messageBoxText, string caption, MessageBoxButton button, MessageBoxImage icon, MessageBoxResult defaultResult)
        {
            var mbox = new MessageBoxModule();

            mbox.Message = messageBoxText;
            mbox.Title   = caption;
            mbox.Owner   = owner;

            IsUseCustomInfoDefine(ref mbox);

            if (owner != null)
            {
                mbox.WindowStartupLocation = WindowStartupLocation.CenterOwner;
            }

            switch (button)
            {
            case MessageBoxButton.OKCancel:

                mbox.CtrlButtonCollection.Add(CreateCtrlButtonWithResult(mbox, "确定", true, null, defaultResult == MessageBoxResult.OK));

                mbox.CtrlButtonCollection.Add(CreateCtrlButtonWithResult(mbox, "取消", false, null, defaultResult == MessageBoxResult.Cancel));
                break;

            //break;
            case MessageBoxButton.YesNo:
                mbox.CtrlButtonCollection.Add(CreateCtrlButtonWithResult(mbox, "是", true, null, defaultResult == MessageBoxResult.Yes));

                mbox.CtrlButtonCollection.Add(CreateCtrlButtonWithResult(mbox, "否", false, null, defaultResult == MessageBoxResult.No));

                break;

            case MessageBoxButton.YesNoCancel:
                mbox.CtrlButtonCollection.Add(CreateCtrlButtonWithResult(mbox, "是", true, null, defaultResult == MessageBoxResult.Yes));

                mbox.CtrlButtonCollection.Add(CreateCtrlButtonWithResult(mbox, "否", false, null, defaultResult == MessageBoxResult.No));

                mbox.CtrlButtonCollection.Add(CreateCtrlButtonWithResult(mbox, "取消", null, null, defaultResult == MessageBoxResult.Cancel));
                break;

            case MessageBoxButton.OK:
            default:
                mbox.CtrlButtonCollection.Add(CreateCtrlButtonWithResult(mbox, "确定", true, null, defaultResult == MessageBoxResult.OK));
                break;
            }
            var result = mbox.ShowDialog();

            switch (button)
            {
            //break;
            case MessageBoxButton.OKCancel:
            {
                return(result == true ? MessageBoxResult.OK
                                                        : result == false ? MessageBoxResult.Cancel :
                       MessageBoxResult.None);
            }

            //break;
            case MessageBoxButton.YesNo:
            {
                return(result == true ? MessageBoxResult.Yes : MessageBoxResult.No);
            }

            //break;
            case MessageBoxButton.YesNoCancel:
            {
                return(result == true ? MessageBoxResult.Yes
                                                        : result == false ? MessageBoxResult.No :
                       MessageBoxResult.Cancel);
            }

            case MessageBoxButton.OK:
            default:
            {
                return(result == true ? MessageBoxResult.OK : MessageBoxResult.None);
            }
            }
        }
		/// <summary>
		/// 
		/// </summary>
		/// <param name="owner"></param>
		/// <param name="messageBoxText"></param>
		/// <param name="caption"></param>
		/// <param name="button"></param>
		/// <param name="icon">为兼容 System.Windows.MessageBox 的留白.</param>
		/// <param name="defaultResult"></param>
		/// <returns></returns>
		public static MessageBoxResult Show( Window owner, string messageBoxText, string caption, MessageBoxButton button, MessageBoxImage icon, MessageBoxResult defaultResult )
		{
			var mbox = new MessageBoxModule();
			mbox.Message = messageBoxText;
			mbox.Title = caption;
			mbox.Owner = owner;

			IsUseCustomInfoDefine( ref mbox );

			if ( owner != null )
			{
				mbox.WindowStartupLocation = WindowStartupLocation.CenterOwner;
			}

			switch ( button )
			{
				case MessageBoxButton.OKCancel:

					mbox.CtrlButtonCollection.Add( CreateCtrlButtonWithResult( mbox, "确定", true, null, defaultResult == MessageBoxResult.OK ) );

					mbox.CtrlButtonCollection.Add( CreateCtrlButtonWithResult( mbox, "取消", false, null, defaultResult == MessageBoxResult.Cancel ) );
					break;
				//break;
				case MessageBoxButton.YesNo:
					mbox.CtrlButtonCollection.Add( CreateCtrlButtonWithResult( mbox, "是", true, null, defaultResult == MessageBoxResult.Yes ) );

					mbox.CtrlButtonCollection.Add( CreateCtrlButtonWithResult( mbox, "否", false, null, defaultResult == MessageBoxResult.No ) );

					break;
				case MessageBoxButton.YesNoCancel:
					mbox.CtrlButtonCollection.Add( CreateCtrlButtonWithResult( mbox, "是", true, null, defaultResult == MessageBoxResult.Yes ) );

					mbox.CtrlButtonCollection.Add( CreateCtrlButtonWithResult( mbox, "否", false, null, defaultResult == MessageBoxResult.No ) );

					mbox.CtrlButtonCollection.Add( CreateCtrlButtonWithResult( mbox, "取消", null, null, defaultResult == MessageBoxResult.Cancel ) );
					break;
				case MessageBoxButton.OK:
				default:
					mbox.CtrlButtonCollection.Add( CreateCtrlButtonWithResult( mbox, "确定", true, null, defaultResult == MessageBoxResult.OK ) );
					break;
			}
			var result = mbox.ShowDialog();
			switch ( button )
			{

				//break;
				case MessageBoxButton.OKCancel:
					{
						return result == true ? MessageBoxResult.OK
							: result == false ? MessageBoxResult.Cancel :
							MessageBoxResult.None;
					}
				//break;
				case MessageBoxButton.YesNo:
					{
						return result == true ? MessageBoxResult.Yes : MessageBoxResult.No;
					}
				//break;
				case MessageBoxButton.YesNoCancel:
					{
						return result == true ? MessageBoxResult.Yes
							: result == false ? MessageBoxResult.No :
							MessageBoxResult.Cancel;
					}

				case MessageBoxButton.OK:
				default:
					{
						return result == true ? MessageBoxResult.OK : MessageBoxResult.None;
					}
			}
		}
		public static MessageBoxResult Show( Window owner, string messageBoxText, string caption, IList<MessageBoxButtonInfo> ctrlButtons )
		{
			var mbox = new MessageBoxModule();
			mbox.Message = messageBoxText;
			mbox.Title = caption;
			mbox.Owner = owner;

			IsUseCustomInfoDefine( ref mbox );

			if ( owner != null )
			{
				mbox.WindowStartupLocation = WindowStartupLocation.CenterOwner;
			}

			if ( null != ctrlButtons && ctrlButtons.Count > 0 )
			{
				foreach ( var btnInfo in ctrlButtons )
				{
					switch ( btnInfo.Result )
					{
						case MessageBoxResult.Cancel:
						case MessageBoxResult.No:
							{
								var btn = CreateCtrlButtonWithResult( mbox, btnInfo.ContentText, false, btnInfo.Action, btnInfo.IsDefault );
								mbox.CtrlButtonCollection.Add( btn );
							}
							break;
						case MessageBoxResult.None:
							{
								var btn = CreateCtrlButtonWithResult( mbox, btnInfo.ContentText, null, btnInfo.Action, btnInfo.IsDefault );
								mbox.CtrlButtonCollection.Add( btn );
							}
							break;
						case MessageBoxResult.OK:
						case MessageBoxResult.Yes:
						default:
							{
								var btn = CreateCtrlButtonWithResult( mbox, btnInfo.ContentText, true, btnInfo.Action, btnInfo.IsDefault );
								mbox.CtrlButtonCollection.Add( btn );
							}
							break;
					}
				}

				var result = mbox.ShowDialog();
				return MessageBoxResult.None;
			}
			else
			{
				return Show( owner, messageBoxText, caption, MessageBoxButton.OK );
			}


		}