Comment créer un personnalisé MessageBox?

Je suis en train de faire une boîte de message personnalisée avec mes contrôles.

public static partial class Msg : Form
{
    public static void show(string content, string description)
    {

    }
}

En fait j'ai besoin de passer des commandes (un gridview) dans le présent formulaire et j'ai appliqué mon propre thème pour cette fenêtre, donc je ne veux pas utiliser MessageBox. Je veux l'appeler cela par d'autres formes comme la

Msg.show(parameters);

Je ne souhaite pas créer un objet de cette forme.

Je sais que je ne peux pas hériter de Form classe, car elle n'est pas statique. Mais je me demande comment MessageBox est mis en œuvre, parce qu'il est statique. Il est appelé comme MessageBox.show("Some message!");

Maintenant j'ai une erreur parce que l'héritage n'est pas permis:

Statique de la classe de MyFormName' ne peut pas dériver de type 'System.De Windows.Les formulaires.Formulaire'. Les classes statiques doivent dériver de l'objet

Comment créer un personnalisé MessageBox?

Comment MessageBox est mis en œuvre alors?

.NET MessageBox est juste un wrapper pour la MessageBox qui fait partie de Win32. Vous aurez besoin de créer un objet de Formulaire personnalisé MessageBox. Peut-être en faire un singleton. Ou tout simplement créer un nouveau Formulaire, de le montrer, et puis les disposer à chaque fois Msg.Show() est appelé.
Msg classe ne doit pas être statique pour show à être statique.

OriginalL'auteur Sen Jacob | 2011-08-03