C#格式化MessageBox

时间:2011-03-24 14:55:59

标签: c# winforms format messagebox

我想显示一个MessageBox,提醒用户该过程已完成,并详细说明该过程的每个阶段所花费的时间。我有正确显示格式的文本,但MessageBox类的默认字体不是单宽度。据我所知,没有办法指定文本显示的字体。

我可以在某处使用开箱即用的库吗?或者我将不得不自己写一个?

5 个答案:

答案 0 :(得分:14)

任何理由不使用等宽字体创建带有文本框/标签的Form,然后调用Form.ShowDialog?听起来像一个单独的图书馆对我来说太过分了。

答案 1 :(得分:9)

对于记录,这实际上是可能的,MessageBox()扩展了标签。例如:

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

如果单词宽度开始接近标签宽度,则不是很值得信赖。你仍然应该选择一个带有ListView的小助手形式。

答案 2 :(得分:2)

听起来你可能只想在那里放一张新表格并使用一些标签..

答案 3 :(得分:2)

我刚刚使用可更改的字体为MessageBox编写了单个文件替换。您可以在此处下载并像标准MessageBox一样使用它:

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

问候,Jörg

答案 4 :(得分:0)

我用这个:

public void myMessageBox(object str)
{
    System.Windows.Forms.MessageBox.Show( new System.Windows.Forms.Form{ TopMost = true, Width = 300}, str.ToString() );
}