C# форматирование MessageBox

Я хочу отобразить MessageBox, предупреждающий пользователя о том, что процесс завершен, и давая разбивку о том, сколько времени занял каждый этап процесса. У меня есть текст, который я хочу, чтобы отобразить соответствующим образом отформатирован, но шрифт по умолчанию класса MessageBox-это не моно-ширину. Насколько я могу судить, нет способа указать шрифт, с которым отображается текст.

есть ли готовые библиотеки то, что я могу использовать для этого, или мне придется написать один себя?

4 ответов


любая причина не просто создать Form с текстовым полем / меткой, используя шрифт monospace, затем вызовите Form.ShowDialog? Похоже, отдельная библиотека с этим была бы для меня излишней.


для записи это действительно возможно, MessageBox () расширяет вкладки. Например:

    private void button1_Click(object sender, EventArgs e) {
        MessageBox.Show(
            "hello\tworld\r\n" + 
            "second\tline");
    }

это не очень надежно, если ширина слова начинает приближаться к ширине вкладки. Вы все равно должны предпочесть небольшую вспомогательную форму с ListView.


звучит так, как будто вы можете просто бросить новую форму и использовать несколько меток..


Я только что написал замену одного файла для MessageBox с изменяемым шрифтом. Вы можете скачать его здесь и использовать его как стандартный MessageBox:

http://www.codeproject.com/Articles/601900/FlexibleMessageBox-A-flexible-replacement-for-the

С Уважением, Йорг