如何在窗口/消息框中显示500字的输出?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在窗口/消息框中显示500字的输出?相关的知识,希望对你有一定的参考价值。
在Windows窗体应用程序中,我希望将一个罗嗦的(500字)输出放到窗口/迷你窗口中(而不仅仅是在工具中的文本框控件中)。例如:
我正在尝试执行pkg.pkgs *的输出。这可能会在我的Windows窗体应用程序中生成巨大的输出。请给我一个想法。我不想要messagebox.show()。
答案
您可以为窗口创建一个重载构造函数,并将罗嗦传递给它。
public class Window1 : Form
{
public Window1(string wordy)
{
textbox.text = wordy;
}
}
您可以将窗口称为
Form wi = new Window1(message);
wi.showdialog();
另一答案
如果你不能用文本区域创建自己的MessageBox
,我建议修剪罗嗦的文本。我们可以尝试两种模式:
- 修剪白色空间,例如
My favorite wordy text is it
进入My favorite...
,以免言辞 - 但是,并非总是可行/合理。如果我们想要,比如说,只是
10
中的My favorite wordy text is it
符号,我们宁可不要离开My...
但My favorit...
作为模式切换的标准,让我们使用经验法则,修剪的文本应至少为最大可能长度的2/3
。执行:
public static string TrimWordyText(string source, int totalLength = 200) {
if (string.IsNullOrEmpty(source))
return source;
else if (source.Length <= totalLength)
return source;
// let's try trimming on white space (sparing mode)
int index = 0;
for (int i = 0; i <= totalLength; ++i) {
char ch = source[i];
if (char.IsWhiteSpace(ch))
index = i;
}
// can we save at least 2/3 of text by splitting on white space
if (index > totalLength * 2 / 3)
return source.Substring(0, index) + "...";
else
return source.Substring(0, totalLength) + "...";
}
....
// "My favorite..."
myTextBox.Text = TrimWordyText("My favorite wordy text is it", 15);
// "My favorit..."
myTextBox.Text = TrimWordyText("My favorite wordy text is it", 10);
以上是关于如何在窗口/消息框中显示500字的输出?的主要内容,如果未能解决你的问题,请参考以下文章