C#格式化MessageBox

T.K*_*.K. 9 c# format messagebox winforms

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

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

Jon*_*eet 14

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

  • @TK:我可能是错的,但我认为 `MessageBox.Show` 只是调用 Win32 消息框,我怀疑它没有这种功能。 (2认同)
  • @JonCoombs:您也可以在标准MessageBox中按Ctrl + C,它将所有内容(标题/文本/按钮)作为文本复制到剪贴板. (2认同)

Han*_*ant 9

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

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

如果单词宽度开始接近标签宽度,则不是很值得信赖.您仍然应该更喜欢带有ListView的小帮助形式.