在另一个文本框中选择文本之前添加文字

时间:2015-07-30 10:48:35

标签: c# winforms text richtextbox

我在尝试让一个文本框更改另一个文本框时遇到问题。

说明: 有两个richTextBox(rich1,rich2)。 rich1和rich2将在那里有一个由用户选择的字符串(他们的服务器名称)。表单上有一些按钮,使用以下命令将rich1中的所选文本更改为不同的颜色:

private void btnDarkBlue_Click(object sender, EventArgs e)
    {
        rich1.SelectionColor = Color.DarkBlue;
    }

我想要发生的是当有人点击一个颜色按钮时,rich1中的所选文本在rich2中是相同的但我想在rich2中的所选文本之前添加文本,例如,如果有人选择&# 34; NH"出于" Funhaus"那么rich2将等于" Fu \ color = 12 \ nhaus"

所以最后,rich1会显示(带着色):" Funhaus"。但rich2会显示(没有着色):" Fun \ color = 12haus"因为用户决定改变单词" haus"到DarkBlue。这是我尝试过的一些代码:

rich2.SelectedRtf = rich1.SelectedRtf;

我认为因为它们都相同,所以它可以正常工作,但这似乎只是将rich1的选定文本添加到rich2的开头并进行格式化。

2 个答案:

答案 0 :(得分:1)

class YourModuleNameManagerModuleFrontController extends ModuleFrontController
{

    public function initContent()
    {
        parent::initContent();
        // Your Code Here
    }
}

答案 1 :(得分:0)

如果要将格式化文本插入RichTextBox控件而不更改其他格式,请使用SelectedText属性,然后仅应用该格式:

private void btnDarkBlue_Click(object sender, EventArgs e)
{
    rich1.SelectionColor = Color.DarkBlue;
    rich2.SelectionStart = rich1.SelectionStart;
    rich2.SelectionLength = 0;
    rich2.SelectedText = whateverTextYouLike;
    rich2.SelectionColor = Color.DarkBlue; //<-- apply any format if you like only after setting selected text
}

如果rich1rich2在按下按钮时具有完全相同的字符串,这应该有用。