我想显示一个MessageBox,提醒用户该过程已完成,并详细说明该过程的每个阶段所花费的时间。我有正确显示格式的文本,但MessageBox类的默认字体不是单宽度。据我所知,没有办法指定文本显示的字体。
我可以在某处使用开箱即用的库吗?或者我将不得不自己写一个?
答案 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() );
}