ModernMessageBoxLib

ModernMessageBoxLib is a WPF library in .Net 4.5 By using ModernMessageBoxLib, you can create a ModernMessageBox with a single code.

NuGetNuGetby

Todo list

  • [x] Basic MessageBox
  • [x] Input Window
  • [x] Waiting window
  • [ ] Color Picker

Screenshots

ModernMessageBox

sc1

sc2

sc3

IndeterminateProgressWindow

sc4

Import

We are strongly recommend you to use Nuget to import the package. Run this command in Package Manage Console:

1
PM> Install-Package ModernMessageBoxLib

(See more in Nuget)

Or you can download it on Release Page.

Get Started

ModernMessageBox

Before start using, you should specify Language and Background and Foreground. See

  • QModernMessageBox.MainLang

  • QModernMessageBox.GlobalBackground

  • QModernMessageBox.GlobalForeground

Example:

1
2
3
4
5
6
7
8
9
10
11
QModernMessageBox.MainLang = new QMetroMessageLang() {
Ok = "确定",
Cancel = "取消",
Abort = "中止(A)",
Ignore = "忽略(I)",
No = "否(N)",
Yes = "是(Y)",
Retry = "重试(R)"
};
QModernMessageBox.GlobalBackground = new SolidColorBrush(Colors.White){Opacity = 0.6};
QModernMessageBox.GlobalForeground = Brushes.Black;

In this example, The button text of the ModernMessageBox set to Chinese and Background set to white with 60% opacity and Foreground set to Black.

Those setting will use as default in ModernMessageBox.

The default Background in MessageBox is Black, 60% Opacity and the Foreground is White

The default lang is in English

In background setting, you can use a color with not fully solid. In this way, the window will have a Gaussian Blur background in Win10 1803+ In win7/8/8.1 or early version of win10, it will still use the solid color as background. If you don’t want a gaussian blur, just set the color solid.

In common cases, you can create a MetroMessageBox with the following code

1
QModernMessageBox.Show("The quick brown fox jumps over the lazy dog.", "hello world",QModernMessageBox.QModernMessageBoxButtons.YesNoCancel,ModernMessageboxIcons.Warning);

Or using the QT way:

1
QModernMessageBox.Warning("The quick brown fox jumps over the lazy dog.", "hello world");

Customize:

1
2
3
4
5
6
7
8
9
10
11
12
var msg = new ModernMessageBox("The quick brown fox jumps over the lazy dog.\n", "hello world", ModernMessageboxIcons.Info, "CSharp", "Java",
"Python") {
Button1Key = Key.D1,
Button2Key = Key.D2,
Button3Key = Key.D3,
CheckboxText = "Don't show this again",
CheckboxVisibility = Visibility.Visible,
TextBoxText = "some staff",
TextBoxVisibility = Visibility.Visible,
};

msg.ShowDialog();

IndeterminateProgressWindow

Before start using, you should specify Background and Foreground. See:

  • IndeterminateProgressWindow.GlobalBackground

  • IndeterminateProgressWindow.GlobalForeground

Usage:

1
2
3
4
5
6
7
   var win = new IndeterminateProgressWindow("Please wait while we are installing the virus into your computer. . .");
win.Show();
//Do Some Staff
await Task.Delay(5000);
//Change the message the 2nd time
win.Message = "Done!!!";
win.Close();

See more in the XML document comment.

About

Using this library means you agree the MIT Licence. Build with ❤ By Saber0905 in SakuraTrak Studio