首页 > 解决方案 > 如何在自定义消息框中使用重载 (myMSGBOX.SHOW(overloads)

问题描述

我创建了自己的消息框窗口,该窗口正在运行,但这是我目前使用它的方式:

var msgbox = new msgbox("Please confirm patients phone number with them before proceeding");
msgbox.ShowDialog();

我希望能够以这种方式使用它:

MessageBox.Show("Choose an Estimated Time of Arrival");

这是首先,所以我可以用 msgbox 替换所有 MessageBox。我的应用程序中有很多内容,现在我有自己的自定义消息框,用这种方式替换比用第一组代码替换要容易得多。

问题是我不知道如何在 showDialog 部分有重载?

标签: wpfoverloadingmessagebox

解决方案


可能有不止一个解决方案,但我会创建一个带有方法的新MyMessageBox类,我会在这个方法中创建。Showmsgbox

public sealed class MyMessageBox
{
    public static bool? Show(string messageBoxText)
    {
        var msgbox = new msgbox(messageBoxText);
        return msgbox.ShowDialog();
    }
}

然后只需将所有替换MessageBoxMyMessageBox.

System.Windows.MessageBox.Show返回MessageBoxResult,因此您可以创建Show也返回的方法MessageBoxResult

public sealed class MyMessageBox
{
    public static MessageBoxResult Show(string messageBoxText)
    {
        var msgbox = new msgbox(messageBoxText);
        msgbox.ShowDialog();
        return MessageBoxResult.OK;
    }
}

推荐阅读