check point
This commit is contained in:
86
framework/MaterialSkin.Core/Controls/MaterialMessageBox.cs
Normal file
86
framework/MaterialSkin.Core/Controls/MaterialMessageBox.cs
Normal file
@@ -0,0 +1,86 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace MaterialSkin.Controls
|
||||
{
|
||||
public partial class MaterialMessageBox : MaterialForm
|
||||
{
|
||||
[Browsable(false)]
|
||||
private MaterialSkinManager SkinManager => MaterialSkinManager.Instance;
|
||||
private MaterialMessageBox()
|
||||
{
|
||||
InitializeComponent();
|
||||
BackColor = SkinManager.GetApplicationBackgroundColor();
|
||||
Left = 0;
|
||||
Width = Screen.PrimaryScreen.WorkingArea.Width;
|
||||
Top = (Screen.PrimaryScreen.WorkingArea.Height - Height) / 2;
|
||||
lblTitle.BackColor = SkinManager.ColorScheme.PrimaryColor;
|
||||
lblTitle.ForeColor= SkinManager.ColorScheme.TextColor;
|
||||
lblText.Left = (Width - lblText.Width) / 2;
|
||||
|
||||
}
|
||||
|
||||
private void AlignControls()
|
||||
{
|
||||
pnlButtons.Left = (Width - pnlButtons.Width) / 2;
|
||||
}
|
||||
|
||||
public static DialogResult Show(string text)
|
||||
{
|
||||
return Show(null, text, string.Empty, MessageBoxButtons.OK);
|
||||
}
|
||||
public static DialogResult Show(IWin32Window owner,string text, string caption, MessageBoxButtons buttons)
|
||||
{
|
||||
var mb = new MaterialMessageBox();
|
||||
mb.lblTitle.Text = caption;
|
||||
mb.lblText.Text = text;
|
||||
List<DialogResult> results;
|
||||
switch (buttons)
|
||||
{
|
||||
case MessageBoxButtons.OK:
|
||||
results=new List<DialogResult>(){DialogResult.OK};
|
||||
break;
|
||||
case MessageBoxButtons.OKCancel:
|
||||
results = new List<DialogResult>() { DialogResult.OK,DialogResult.Cancel };
|
||||
break;
|
||||
case MessageBoxButtons.AbortRetryIgnore:
|
||||
results = new List<DialogResult>() { DialogResult.Abort,DialogResult.Retry,DialogResult.Ignore };
|
||||
break;
|
||||
case MessageBoxButtons.YesNoCancel:
|
||||
results = new List<DialogResult>() { DialogResult.Yes,DialogResult.No,DialogResult.Cancel };
|
||||
break;
|
||||
case MessageBoxButtons.YesNo:
|
||||
results = new List<DialogResult>() { DialogResult.Yes,DialogResult.No };
|
||||
break;
|
||||
case MessageBoxButtons.RetryCancel:
|
||||
results = new List<DialogResult>() { DialogResult.Retry,DialogResult.Cancel };
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(buttons), buttons, null);
|
||||
}
|
||||
|
||||
var btns=Enum.GetNames(typeof(DialogResult));
|
||||
foreach (var btn in results)
|
||||
{
|
||||
MaterialRaisedButton opt = new MaterialRaisedButton();
|
||||
opt.Size = new Size(180, 60);
|
||||
opt.Margin = new Padding(10, 20, 10, 0);
|
||||
opt.Text = Enum.GetName(typeof(DialogResult),btn);
|
||||
opt.Click += (sender, args) =>
|
||||
mb.DialogResult = btn;
|
||||
mb.pnlButtons.Controls.Add(opt);
|
||||
mb.AlignControls();
|
||||
}
|
||||
|
||||
return mb.ShowDialog(owner);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user