C#中如何获得一个MessageBox的返回结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中如何获得一个MessageBox的返回结果相关的知识,希望对你有一定的参考价值。

我要用if语句来判断用户是按了Yes键,还是No键
应该怎么判断呢?

DialogResult dr = MessageBox.Show();
if(dr == DialogResult.Yes)

参考技术A 用y好了!
按回车

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

请问在 MessageBox.Show("这里面显示的字 任何让他换行?");任何让里面的字体居中?

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");
参考技术A 居中好像悬,换行就是直接加上"\n"就行
如:
MessageBox.Show("啦啦啦啦啦" + "\n" + "啦啦啦啦啦");
参考技术B 没试过

以上是关于C#中如何获得一个MessageBox的返回结果的主要内容,如果未能解决你的问题,请参考以下文章

C#里如何点击“取消(button2)”按钮后关闭窗体2,并返回窗体1?

C#中MessageBox输出信息

c#如何获得返回json数组中的数组

C#如何获得当前月的第一天与最后一天

如何修改查询表达式以获得灵活的结果 - Win Forms C#

c# 弹出式对话框 类似于c语言中的messagebox