C#运行后富文本框选择保留

问题描述 投票:0回答:1

我正在选择 richtextbox1 中的特定文本部分并使用正则表达式替换它。替换文本后,我的选择消失了。即使在替换后我也想保持相同的选择。因为我有多个替换来执行每个不同的替换,所以我需要保留选择,否则我必须一次又一次地选择该特定文本。请就此提出建议。

            string str = richTextBox1.SelectedText;
            int caretIndex = richTextBox1.SelectionStart;
            int lineNumber = richTextBox1.GetLineFromCharIndex(caretIndex);
            Point characterXY = richTextBox1.GetPositionFromCharIndex(caretIndex);
            int characterIndex = richTextBox1.GetCharIndexFromPosition(characterXY);
            richTextBox1.SelectedText = Regex.Replace(str, "123", "456");
c# selection richtextbox
1个回答
0
投票

使用此代码

        var str = richTextBox1.SelectedText;
        var start = richTextBox1.SelectionStart;
        var end = richTextBox1.SelectionLength;
        richTextBox1.SelectedText = Regex.Replace(str, "123", "456");
        richTextBox1.Focus();
        richTextBox1.Select(start, start + end);
© www.soinside.com 2019 - 2024. All rights reserved.