在列表中的每一行之后自动添加“文本”

时间:2014-02-07 02:45:52

标签: c#

我需要这个例子的解决方案: 我有两个Richtextbox例如&我想在每一行后自动添加一些东西 例如,我想在每行之后添加“。”(点)

&安培;如果我在richtextbox1中输入:

你是

滑稽

我会在richtextbox2中看到这个:

你是。

好笑。

我需要一个解决方案 &安培;如果有人有解决方案但有其他列表(listview列表框(文本框多行)...) 它也没关系。

2 个答案:

答案 0 :(得分:0)

我假设您使用的是Windows窗体,在这种情况下,您可以在TextChanged事件

中实现此功能

示例:

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
    richTextBox2.Text = richTextBox1.Text;
}

但是,这不是你想做的......我会用.Split()来操纵字符串

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
    string[] splitNewlines = richTextBox1.Text.Split('\n');
    string newText = "";
    foreach (string s in splitNewlines)
    {
        if (!string.IsNullOrWhiteSpace(s))
            newText += s + "." + "\n";
        else
            newText += "\n";
    }
    richTextBox2.Text = newText;
}

这将拆分原始字符串,添加句点和换行符,并对原始文本中的每个换行执行此操作。图片:

working program

答案 1 :(得分:-1)

我假设你在某些事件上添加了这个。例如,单击按钮,将一些文本从textBox传输到richtextbox。

你可以试试这个:

this.richTextBox1.AppendText(textBox1.Text + "." + "\n"); 

这将在文本末尾添加一个点,它位于文本框中。