在C#的运用程序中 MessageBox.Show("")的问题

请问在MessageBox.Show("这里面显示的字任何让他换行?");任何让里面的字体居中?... 请问在 MessageBox.Show("这里面显示的字 任何让他换行?");任何让里面的字体居中? 展开
 我来答
随何额u
2012-04-10
知道答主
回答量:3
采纳率:0%
帮助的人:3449
展开全部
C#不支持居中功能的.可以有2个变通的做法:
1 自己编写一个控件(也就是一个窗体),窗体上放置图标和label,其中label的文本对齐方式属性TextAlign设置为MiddleCenter,AutoSize设置为False,再把该Label的长宽拖拉到合适大小。

2 仍然使用MessageBox, 计算待显示的文本的长度,然后在前后添加若干数量的空格。

//MessageBox每行最多显示的字符数量.试验确定
Int32 MaxLineLen = XX;
//待显示的字符串内容
String msginfo = "......";

//空格数量
Int32 spacecount = 0;

//多个空格组成的字符串
String spacestr = String.Empty;

if(msginfo.Length < MaxLineLen)
{
//在文本的头和尾都添加此数量的空格
spacecount = (MaxLineLen - msginfo.Length) / 2;
msginfo = msginfo.PadLeft(spacecount, ' ');
msginfo = msginfo.PadRight(spacecount, ' ');
}
else
{
//计算最后一行的字符数
Int32 leftcnt = msginfo.Length % MaxLineLen;
//计算最后一行的空格数
spacecount = (MaxLineLen - leftcnt) / 2;
//创建多个空格的字符串
spacestr = spacestr.PadLeft(spacecount, ' ');
//把空字符串插入到最后一行的前面
msginfo = msginfo.Insert(msginfo.Length - leftcnt - 1, spacestr);
//把空字符串插入到文本末尾
msginfo = msginfo + spacestr;
}

MessageBox.Show(msginfo, "Title");
gushoushi
2012-04-10 · TA获得超过219个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:245万
展开全部
居中好像悬,换行就是直接加上"\n"就行
如:
MessageBox.Show("啦啦啦啦啦" + "\n" + "啦啦啦啦啦");
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张渊博666888
2012-04-10
知道答主
回答量:68
采纳率:0%
帮助的人:29.5万
展开全部
没试过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式