从文本框中复制粘贴会添加额外的行

时间:2015-06-24 15:07:40

标签: c# winforms textbox

所以基本上我有一个按钮,它在一个文本框中使用换行符分隔的字符串,然后以特定方式格式化它们并将它们放在不同的文本框中。当我运行代码时,一切看起来都很好,但是,当我将文本从第二个文本框复制并粘贴到另一个地方时,它会在我从原始框中获取的所有内容之后添加换行符。

private void ToTableButton_Click(object sender, EventArgs e)
    {
        StringBuilder tableText = new StringBuilder();
        string[] lines = BasicTextBox.Text.Split('\n');
        TableTextBox.Clear();

        try
        {
            for (int i = 0; i < columnsUpDown.Value; i++)
            {
                if (i == columnsUpDown.Value - 1)
                {
                    tableText.Append(lines[i]);
                }
                else
                {
                    tableText.Append(lines[i] + " | ");
                }
            }

            tableText.Append(Environment.NewLine);

            for (int i = 0; i < columnsUpDown.Value; i++)
            {
                if (i == columnsUpDown.Value - 1)
                {
                    tableText.Append("--");
                }
                else
                {
                    tableText.Append("--|");
                }
            }

            int currentPos = Convert.ToInt32(columnsUpDown.Value);
            while (currentPos <= lines.Length)
            {
                tableText.Append(Environment.NewLine);
                for (int i = 0; i < columnsUpDown.Value; i++)
                {
                    if (i == columnsUpDown.Value - 1)
                    {
                        tableText.Append(lines[currentPos]);
                    }
                    else
                    {
                        tableText.Append(lines[currentPos] + " | ");
                    }
                    currentPos++;
                }
            }
        }
        catch
        {

        }

        TableTextBox.Text = tableText.ToString();
    }

我想也许这是因为分裂并没有删除\ n但是我不知道如何在之后删除它。任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我认为修剪线[currentPos]将是正确的方法......

tableText.Append(行[currentPos]的ToString()修剪());