文本框中的内容应该是下一行。

20
基本上,我在WindowPhone 7.1中使用MessageBox 显示一些文本,并带有Ok和Cancel按钮。
我需要以下要求:
这里会有一些文字...
属性:值...
实际上我们可以简单地在MessageBox中显示文本,但如何在文本之间添加换行符呢?在Windows Phone中是否有方法可以实现这一点?
7个回答

50

您可以使用Environment.Newline进行换行

string msg = "Text here" + Environment.NewLine + "some other text";

1
其实,根据我所见,它只期望\n而不是完整的换行符。消息框的一个鲜为人知的功能是,你可以通过按下“Ctrl+C”来复制其文本(在PC上),当你这样做时,你会发现所有的\n字符都将被替换为完整的Environment.NewLine。然而,如果您已经使用了完整的换行符\r\n,那么结果将是由\r\r\n分隔的行,在一些应用程序中将显示为双行。 - Nyerguds

8
MessageBox.Show("Line 1" + Environment.NewLine + "Line 2");

3
你可以试试使用 "\n" 或者 "<br />" 进行换行。我不确定这是否有效:
示例:
string msg = "Some text will be here\nProperty:value";

MessageBox.Show(msg);

4
在Windows上,换行符是\r\n - Jack

3
 MessageBox.Show("aa" + Environment.NewLine + Environment.NewLine + "bb");

2
这是一篇旧帖子,但是...如果您的文本来自资源文件,则建议的解决方案都不起作用。在 VS 资源编辑器中,您必须使用 Shift+Enter 来输入新行。其他所有方法都只会显示为原始文本,例如 "\n"、"\r\n" 或 "<br />"。

1
如果您有一个非常非常大的消息要显示,请使用:
MessageBox.Show(String.Join(Environment.NewLine,
                            "Line 1",
                            "Line 2",
                            "Line 3"));

1

有两个选项 \nEnvironment.NewLine

选项1: \n

我不确定这是否适用于Windows手机,但我认为它会。

\n - 换行。可以放置尽可能多的句子。

MessageBox.Show("Some Text Here In The Line NO.1\nSome Text Here In Line NO.2");

将显示:
Some Text Here In The Line NO.1
Some Text Here In Line NO.2

或者

MessageBox.Show("Some Text Here In The Line NO.1 +"\n" + "Some Text Here In Line NO.2");

将显示与第一个相同:
Some Text Here In The Line NO.1
Some Text Here In Line NO.2

选项2:Environment.NewLine

Environment.NewLine - 换行。可以放置任意数量的句子。

MessageBox.Show("Some Text Here In The Line NO.1" + Environment.NewLine + "Some Text Here In Line NO.2");

将显示与第一个相同:
Some Text Here In The Line NO.1
Some Text Here In Line NO.2

来自msdn.microsoft

NewLine(Environment.NewLine)提供的功能通常是指换行、换行符、断行、回车换行、CRLF 和行尾。

我更喜欢 \n,因为它更短更快,但无论你喜欢什么都可以。


只使用\n更正确,因为消息框在复制文本框信息(ctrl+c)时会将给定字符串中的所有\n字符替换为平台的Environment.NewLine。因此,在初始文本中使用完整的\r\n换行符会导致复制的文本中出现混乱的\r\r\n - Nyerguds

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接