如何在自定义消息框中使用重载 (myMSGBOX.SHOW(overloads)

How to use overloads in a custom messagebox (myMSGBOX.SHOW(overloads)

我已经创建了自己的消息框 window,它正在运行,但我目前是这样使用它的:

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 部分进行重载?

可能有不止一种解决方案,但我会用 Show 方法创建一个新的 MyMessageBox class,我会在这个方法中创建 msgbox

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

然后只需将所有 MessageBox 替换为 MyMessageBox

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

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