C#格式化MessageBox

问题描述 投票:8回答:5

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

是否有一个开箱即用的库可供我使用,或者我将不得不自己写一个?

c# winforms format messagebox
5个回答
14
投票

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


9
投票

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

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

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


2
投票

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


2
投票

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

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

此致,Joerg


0
投票

我用这个:

public void myMessageBox(object str)
{
    System.Windows.Forms.MessageBox.Show( new System.Windows.Forms.Form{ TopMost = true, Width = 300}, str.ToString() );
}
© www.soinside.com 2019 - 2024. All rights reserved.