问题描述
我已经创建了自己的消息框窗口,该窗口正在运行,但是我目前使用它的方式是:
var msgBox = new msgBox("Please confirm patients phone number with them before proceeding");
msgBox.ShowDialog();
我希望能够以这种方式使用它:
MessageBox.Show("Choose an Estimated Time of Arrival");
这是首先,所以我可以用msgBox替换All MessageBox。我的应用程序中有很多东西,现在我有了自己的自定义消息框,用这种方式替换比用第一组代码替换要容易得多。
问题是我不知道如何在 showDialog 部分进行重载?
解决方法
可能有多个解决方案,但我会使用 MyMessageBox
方法创建一个新的 Show
类,并在此方法中创建 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
返回 MessageBoxResult
,因此您可以创建也返回 Show
的 MessageBoxResult
方法。
public sealed class MyMessageBox
{
public static MessageBoxResult Show(string messageBoxText)
{
var msgbox = new msgbox(messageBoxText);
msgbox.ShowDialog();
return MessageBoxResult.OK;
}
}