防止在RichTextBox中删除或更改某些文本

时间:2013-10-24 12:01:17

标签: c# richtextbox

我有RichTextBox,每次表单加载时都会加载某个默认文本。

本文例如:

// Do not Exclude this line below

我可以在换行中添加文本并在必要时删除但不得删除此行。

如果我在“下面”一词中删除“e”,它必须回到“下面”一词。相同的添加空间或字符。

我在Keydown活动中开始使用此代码:

Regex donotexclude = new Regex(@"//\s+\s+\s+\s+\s+\s+Do\s+not\s+exclude\s+line\s+below");
            MatchCollection donotexcluDE = donotexclude.Matches(rtb_JS.Text);

            // if (Keys.Space && 

            foreach (Match DONOTEXCLUDE in donotexcluDE)
            {

                if (DONOTEXCLUDE.Success)
                {
                    var donot = DONOTEXCLUDE.Groups[0].Value.ToString();

                    //if (!donot.Length =>
                    //{

                    //}
                }
                else
                {

                }
            }

但是我不知道我应该添加什么代码,或者我在第一时间做错了什么。

现在我的问题是“如何保护RichTextBox中的某些文本不被删除或更改”。

谢谢,更有力量!

1 个答案:

答案 0 :(得分:2)

不要重新发明轮子。利用SelectionProtected属性

richTextBox.Rtf = ...;
richTextBox.SelectAll(); or richTextBox.Select(start, length)//Select that line
richTextBox.SelectionProtected = true;
richTextBox.SelectionLength = 0;