【问题标题】:How do I add a newline to a windows-forms TextBox?如何在 Windows 窗体 TextBox 中添加换行符?
【发布时间】:2010-11-21 03:05:08
【问题描述】:

我正在尝试向 VB.net 中的 TextBox 组件添加一行文本,但我终其一生都无法弄清楚如何强制换行。现在它只是增加了我已经拥有的东西,这并不好。

我尝试复制实际的换行符,但没有奏效。我试过 AppendText(),没用。

我到底该怎么做呢?已经是多行了。

【问题讨论】:

  • 我们说的是 ASP.NET 还是 WinForms?
  • Winforms。我不知道 ASP.net

标签: vb.net winforms newline


【解决方案1】:

尝试使用Environment.NewLine

获取为此环境定义的换行符字符串。

这样的事情应该可以工作:

textBox.AppendText("your new text" & Environment.NewLine)

【讨论】:

    【解决方案2】:

    试试类似的东西

    "Line 1" & Environment.NewLine & "Line 2"
    

    【讨论】:

      【解决方案3】:

      您是否将AcceptsReturn 属性设置为true?

      【讨论】:

        【解决方案4】:

        您是否尝试过类似的方法:

        textbox.text = "text" & system.environment.newline & "一些更多的文字"

        【讨论】:

          【解决方案5】:

          首先您必须将TextBoxMultiLine 属性设置为true,以便它支持多行。

          那么你只需使用Environment.NewLine 来获取换行符组合。

          【讨论】:

            【解决方案6】:

            VB 中 WinForms 的快速测试代码:

            Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            
                Dim Newline As String
                Newline = System.Environment.NewLine
            
                TextBox1.Text = "This is a test"
                TextBox1.Text = TextBox1.Text & Newline & "This is line 2"
            
            End Sub
            

            【讨论】:

              【解决方案7】:

              你也可以使用vbNewLineObject

              MessageLabel.Text = "The Sales tax was:" & Format(douSales_tax, "Currency") & "." & vbNewLine & "The sale person: " & mstrSalesPerson
              

              【讨论】:

                【解决方案8】:

                试试vbCrLf

                例如:

                TextBox1.text = "line_one" & vbCrLf & "line_two"
                

                【讨论】:

                  【解决方案9】:
                  TextBox2.Text = "Line 1" & Environment.NewLine & "Line 2"
                  

                  TextBox2.Text = "Line 1"
                  TextBox2.Text += Environment.NewLine
                  TextBox2.Text += "Line 2"
                  

                  这就是它的做法。

                  【讨论】:

                    【解决方案10】:

                    JeffK 获取这个并使其更紧凑。

                    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
                    
                        Dim Newline As String = System.Environment.NewLine
                    
                        TextBox1.Text = "This is a test"
                        TextBox1.Text += Newline + "This is another test"
                    
                    End Sub
                    

                    【讨论】:

                      【解决方案11】:

                      确保你的文本框设置为多行,然后你不需要任何额外的暗淡 vbnewline 就可以正常工作

                      【讨论】:

                        【解决方案12】:

                        richtextbox 还有一个“Lines”属性,它是一个字符串数组。此数组中的每个项目都以隐式换行符结尾,并将显示在自己的行上。

                        如果您的文本是静态的或具有初始值,并且您在 Visual Studio 中使用设计器,则可以直接在此处添加行。

                        【讨论】:

                          【解决方案13】:

                          使用下面的文字!

                          TextBox1.Text = "This is a test"
                          TextBox1.Text = TextBox1.Text & ControlChars.Newline & "This is line 2"
                          

                          controlchars.Newline 会自动将"This is line 2" 放到下一行。

                          【讨论】:

                            【解决方案14】:

                            你可以试试这个:

                            "这是第 1 行 \r\n 这是第 2 行"

                            【讨论】:

                              猜你喜欢
                              • 1970-01-01
                              • 2013-06-09
                              • 1970-01-01
                              • 2016-10-30
                              • 2015-06-04
                              • 1970-01-01
                              • 1970-01-01
                              • 2012-05-26
                              • 1970-01-01
                              相关资源
                              最近更新 更多