在C#的运用程序中 MessageBox.Show("")的问题
请问在MessageBox.Show("这里面显示的字任何让他换行?");任何让里面的字体居中?...
请问在 MessageBox.Show("这里面显示的字 任何让他换行?");任何让里面的字体居中?
展开
3个回答
展开全部
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");
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");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询