Помните, что в конце дня методы SWFMessageBox.Show() являются в основном оболочками вокруг вызова API-интерфейса Win32 MessageBox(). (Запустите mscorlib через Reflector, вы увидите «реальный» код в частных методах ShowCore.)
Для кэширования вызываемого MessageBox в Win32 нет, насколько я знаю, поэтому нет способ сделать это в .NET.
У меня есть собственный собственный класс MessageBox, который я использую, хотя я сделал это, чтобы не кэшировать его (в моих сценариях использования в WinForms один и тот же MB редко используется дважды), а скорее для обеспечения более подробное сообщение об ошибке и информация - заголовок, описание, возможность копирования сообщения в буфер обмена (обычно это инструмент, который уведомляет пользователя о необработанном исключении), а затем кнопки.
Ваш пробег может отличаться.
Зачем вам это нужно? Похоже, вы можете просто заменить «msg» на System.Windows.Forms.MessageBox и пропустить параметр вокруг без реального выигрыша. Если это так, вы можете абстрагировать сообщения, а некоторые из них идут в ящики и некоторые другие, просто реализуйте «в другом месте», который вызывает MessageBox. – 2008-09-24 18:45:08
Это, очевидно, упрощение моей проблемы.Я, в конце концов, буду реализовывать свой собственный itnerface, но на данный момент мне хотелось бы что-то быстро и грязно для прототипа. – 2008-09-24 19:05:41