You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

222 lines
8.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace CommonFunc.Tools
{
public class CustomMessageBox
{
public static CustomMessageBoxResult Show(string messageBoxText, CustomMessageBoxButton messageBoxButton, CustomMessageBoxIcon messageBoxImage)
{
HMessageBox window = new HMessageBox();
try
{
//window.Owner = Application.Current.MainWindow;
//window.Topmost = true;
window.MessageBoxText = messageBoxText;
window.OkButtonVisibility = Visibility.Hidden;
window.CancelButtonVisibility = Visibility.Hidden;
window.YesButtonVisibility = Visibility.Hidden;
window.NoButtonVisibility = Visibility.Hidden;
switch (messageBoxImage)
{
case CustomMessageBoxIcon.Question:
window.ImagePath = @"Resources/alert.png";
break;
case CustomMessageBoxIcon.Error:
window.ImagePath = @"Resources/Error.png";
break;
case CustomMessageBoxIcon.Warning:
window.ImagePath = @"Resources/alert.png";
break;
case CustomMessageBoxIcon.Success:
window.ImagePath = @"Resources/Success.png";
break;
}
switch (messageBoxButton)
{
case CustomMessageBoxButton.OK:
window.OkButtonVisibility = Visibility.Visible;
break;
case CustomMessageBoxButton.OKCancel:
window.OkButtonVisibility = Visibility.Visible;
window.CancelButtonVisibility = Visibility.Visible;
break;
case CustomMessageBoxButton.YesNo:
window.YesButtonVisibility = Visibility.Visible;
window.NoButtonVisibility = Visibility.Visible;
break;
case CustomMessageBoxButton.YesNoCancel:
window.YesButtonVisibility = Visibility.Visible;
window.NoButtonVisibility = Visibility.Visible;
window.CancelButtonVisibility = Visibility.Visible;
break;
default:
window.OkButtonVisibility = Visibility.Visible;
break;
}
window.SetControl();
window.ShowDialog();
}
catch (Exception ex)
{
LogHelper.instance.log.Error("调用弹出消息 异常:" + ex.Message);
}
return window.Result;
}
public static CustomMessageBoxResult Show(string messageBoxText, CustomMessageBoxButton messageBoxButton, CustomMessageBoxIcon messageBoxImage, int closeAfterMilliseconds = 0)
{
HMessageBox window = new HMessageBox(closeAfterMilliseconds);
try
{
window.MessageBoxText = messageBoxText;
window.OkButtonVisibility = Visibility.Hidden;
window.CancelButtonVisibility = Visibility.Hidden;
window.YesButtonVisibility = Visibility.Hidden;
window.NoButtonVisibility = Visibility.Hidden;
switch (messageBoxImage)
{
case CustomMessageBoxIcon.Question:
window.ImagePath = @"Resources/alert.png";
break;
case CustomMessageBoxIcon.Error:
window.ImagePath = @"Resources/Error.png";
break;
case CustomMessageBoxIcon.Warning:
window.ImagePath = @"Resources/alert.png";
break;
case CustomMessageBoxIcon.Success:
window.ImagePath = @"Resources/Success.png";
break;
}
switch (messageBoxButton)
{
case CustomMessageBoxButton.OK:
window.OkButtonVisibility = Visibility.Visible;
break;
case CustomMessageBoxButton.OKCancel:
window.OkButtonVisibility = Visibility.Visible;
window.CancelButtonVisibility = Visibility.Visible;
break;
case CustomMessageBoxButton.YesNo:
window.YesButtonVisibility = Visibility.Visible;
window.NoButtonVisibility = Visibility.Visible;
break;
case CustomMessageBoxButton.YesNoCancel:
window.YesButtonVisibility = Visibility.Visible;
window.NoButtonVisibility = Visibility.Visible;
window.CancelButtonVisibility = Visibility.Visible;
break;
default:
window.OkButtonVisibility = Visibility.Visible;
break;
}
window.SetControl();
window.ShowDialog();
}
catch (Exception ex)
{
LogHelper.instance.log.Error("调用弹出消息 异常:" + ex.Message);
}
return window.Result;
}
public static CustomMessageBoxResult Show(string messageBoxText)
{
HMessageBox window = new HMessageBox();
window.MessageBoxText = messageBoxText;
window.OkButtonVisibility = Visibility.Hidden;
window.CancelButtonVisibility = Visibility.Hidden;
window.YesButtonVisibility = Visibility.Hidden;
window.NoButtonVisibility = Visibility.Hidden;
window.ImagePath = @"Resources/Success.png";
window.OkButtonVisibility = Visibility.Visible;
window.CancelButtonVisibility = Visibility.Visible;
window.SetControl();
window.ShowDialog();
return window.Result;
}
public static CustomMessageBoxResult Show(string messageBoxText, CustomMessageBoxIcon messageBoxImage)
{
HMessageBox window = new HMessageBox();
window.MessageBoxText = messageBoxText;
window.OkButtonVisibility = Visibility.Hidden;
window.CancelButtonVisibility = Visibility.Hidden;
window.YesButtonVisibility = Visibility.Hidden;
window.NoButtonVisibility = Visibility.Hidden;
switch (messageBoxImage)
{
case CustomMessageBoxIcon.Question:
window.ImagePath = @"Resources/alert.png";
break;
case CustomMessageBoxIcon.Error:
window.ImagePath = @"Resources/Error.png";
break;
case CustomMessageBoxIcon.Warning:
window.ImagePath = @"Resources/alert.png";
break;
case CustomMessageBoxIcon.Success:
window.ImagePath = @"Resources/Success.png";
break;
}
window.OkButtonVisibility = Visibility.Visible;
window.CancelButtonVisibility = Visibility.Visible;
window.SetControl();
window.ShowDialog();
return window.Result;
}
}
#region Enum Class
/// <summary>
/// 显示按钮类型
/// </summary>
public enum CustomMessageBoxButton
{
OK = 0,
OKCancel = 1,
YesNo = 2,
YesNoCancel = 3
}
/// <summary>
/// 消息框的返回值
/// </summary>
public enum CustomMessageBoxResult
{
//用户直接关闭了消息窗口
None = 0,
//用户点击确定按钮
OK = 1,
//用户点击取消按钮
Cancel = 2,
//用户点击是按钮
Yes = 3,
//用户点击否按钮
No = 4
}
/// <summary>
/// 图标类型
/// </summary>
public enum CustomMessageBoxIcon
{
None = 0,
Error = 1,
Question = 2,
Warning = 3,
Success = 4
}
#endregion
}