How to create a Metro Message Box in C#

By FoxLearn 7/16/2024 9:13:07 AM   24.02K
Creating a Metro MessageBox using Metro Framework Modern UI Design in C# Windows Forms application.

To create a Metro MessageBox using the Metro Framework Modern UI Design in C# Windows Forms, you'll first need to ensure that you have the Metro Framework installed in your project. You can install it via NuGet Package Manager.

First off, you need to install the metro framework to your projecy by right-clicking on your project, then select Manage NuGet Packages -> Search metro framework -> Install

Once you have the Metro Framework installed, you can follow these steps to create a Metro MessageBox:

Drag and drop the MetroTile control from the Visual Studio toolbox to your winform, then you can design a simple dashboard as shown below.

metro ui design

If you haven't got the metro framework toolbox, you can view the post how to download and install metro framework to visual studio toolbox

To create a metro form, then change inheritance from Form to the MetroForm

You can now use this method to show Metro-styled message boxes throughout your application as the following c# code.

//OK message box
private void metroTile1_Click(object sender, EventArgs e)
{
    MetroFramework.MetroMessageBox.Show(this, "OK", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

//Yes/No message box
private void metroTile3_Click(object sender, EventArgs e)
{
    if (MetroFramework.MetroMessageBox.Show(this, "Yes/No", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
    {
        //Do something
    }
}

//YesNo/Cancel message box
private void metroTile2_Click(object sender, EventArgs e)
{
    if (MetroFramework.MetroMessageBox.Show(this, "YesNo/Cancel", "Message", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
    {
        //Do something
    }
}

//Error message box
private void metroTile4_Click(object sender, EventArgs e)
{
    MetroFramework.MetroMessageBox.Show(this, "Error", "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

//Warning message box
private void metroTile5_Click(object sender, EventArgs e)
{
    MetroFramework.MetroMessageBox.Show(this, "Warning", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}

//Hand message box
private void metroTile6_Click(object sender, EventArgs e)
{
    MetroFramework.MetroMessageBox.Show(this, "Hand", "Message", MessageBoxButtons.OK, MessageBoxIcon.Hand);
}

//Stop message box
private void metroTile7_Click(object sender, EventArgs e)
{
    MetroFramework.MetroMessageBox.Show(this, "Stop", "Message", MessageBoxButtons.OKCancel, MessageBoxIcon.Stop);
}

//None message box
private void metroTile8_Click(object sender, EventArgs e)
{
    MetroFramework.MetroMessageBox.Show(this, "None");
}

Through the c# example above, you've learned how to use metro ui framework to create Metro MessageBox types in c# .net windows forms application.

VIDEO TUTORIAL