簡體   English   中英

如何在多行文本框中的新行上書寫?

[英]How can I write on a new Line in a MultiLine Textbox?

我必須編寫一個程序,您可以在其中輸入最小值和最大值。 然后從最小的所有數字。 到最大 甚至應該顯示在多行文本框中。

但是,當偶數寫入文本框時,它始終會覆蓋之前寫入文本框的數字。

我嘗試了Enviroment.NewLine以及這個\\ r \\ n的東西,但是我可能用錯了。

private void cmdstart_Click(object sender, EventArgs e)
{
    for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++)
    {
        int a = i % 2;
        if (a == 0)
        {
            textBox3.Text = Convert.ToString(i);
        }
    }
}

最后,它應該輸出最小的所有偶數。 到最大 在多行文本框中。 每個數字都應換行。

這是因為您每次都覆蓋它。

嘗試以下代碼:

textBox3.Text += i.ToString()+Environment.NewLine; 

確保已在textBox3上將Multiline屬性設置為true。

您可以在選擇textbox3之后通過屬性窗口進行設置,也可以在完成initializeComponents之后在表單構造函數中的以下行中進行編寫。

textBox3.Multiline = true;

完成此操作后,Environment.NewLine或\\ r \\ n都應該起作用。

如果您編寫多行文字,則可以自己進行測試

輸入:

1

2

3

4

6

7

使用Designer和Text屬性添加到文本框,您可以看到它生成了以下內容:

txt值:

“1 \\ r \\ N 2 \\ r \\ N3 \\ r \\ N4 \\ r \\ N5 \\ r \\ N6 \\ r \\ N7”

碼:

string txt = multiLineTextBox.Text;

因此,如果您將\\r\\n添加到現有文本中,則會將文本追加到新行:

for (int i = Convert.ToInt32(textBox1.Text); i <= Convert.ToInt32(textBox2.Text); i++)
{
    int a = i % 2;
    if (a == 0)
    {
        textBox3.Text = $"{textBox3.Text}{i}\r\n";
        // or using string.Format for older versions
        //textBox3.Text = string.Format("{0}{1}\r\n", textBox3.Text, i);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM