如何在窗口/消息框中显示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字的输出?的主要内容,如果未能解决你的问题,请参考以下文章

在窗口标题和消息框中显示错误的语言:win32 应用程序,opengl

窗口消息框中的 C# WPF XAML

如何在消息框中显示数据库值

如何从输入框中显示 HTML

C++控制台输出不同颜色的字的问题

pycharm 如何输出图