【问题标题】:Display list item per line in multiline Textbox在多行文本框中每行显示列表项
【发布时间】:2016-01-28 21:18:37
【问题描述】:

首先,在投反对票时,请说出我做错了什么。

我的清单上有一些项目。但随着用户决定其数量,它可以有 16、10、12 个成员。无论如何,我已经尝试了我能找到的所有东西,但没有一个对我有用。这是我探索过的链接之一:

Link

我唯一能做的就是用空格(或我想要的任何东西)分割项目,但不能跳行。而且我已经将 text.Multiline 设置为 True。

foreach(var item in listMat)
{
txtGAMBIARRA.Text = String.Join(" ", listMat);
}

编辑:问题已解决。此外,由于我不知道列表会有多少项目,所以每次按下按钮时我都开始增加文本框的高度。希望这段代码对某人有所帮助:

private void btnAddMaterias_Click(object sender, EventArgs e)
{
listMat.Add(txtNomeMaterias.Text);
txtGAMBIARRA.Height = txtGAMBIARRA.Height + 12;
txtGAMBIARRA.Text = String.Join(Environment.NewLine, listMat); //Here is the solution
}

【问题讨论】:

  • 您不需要循环,只需使用 String.Join 的返回来设置文本框的文本属性。使用时文本框是什么样子的:txtGAMBIARRA.Text = String.Join(Environment.NewLine, listMat);?
  • 不知道发生了什么。我曾尝试过类似的方法,但可能又犯了另一个错误。现在它正在工作。无论如何,我的话题对吗?我能做些什么让人们更容易理解吗?谢谢哥们
  • 主题没问题。一项改进是描述你得到了什么结果,而不是仅仅说它不起作用。
  • 我明白了。再次感谢!

标签: c# textbox


【解决方案1】:

如果您使用数组,则无需重复 只需调用一次 Join 函数,无需 foreach

【讨论】:

    【解决方案2】:

    这样使用:

    txtGAMBIARRA.Text = String.Join("\n", listMat);
    

    【讨论】:

      【解决方案3】:

      你也需要换行,比如: txtGAMBIARRA.Text = String.Join("\r\n", listMat);

      【讨论】:

      • 您应该使用System.Environment.NewLine 换行,以便它支持跨平台。如果您的目标不是跨平台而仅针对 Windows,请使用“\r\n”,因为它是 Windows 中新行的正确分隔符。
      猜你喜欢
      • 1970-01-01
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      相关资源
      最近更新 更多