0

我有 RichTextBox,它有一个特定的默认文本,每次加载表单加载。

这段文字例如:

// Do not Exclude this line below

我可以在换行符中添加文本并在必要时删除,但不能在这一行。

就像如果我删除单词“below”中的“e”,它必须回到单词“below”。同样添加空格或 char 。

我在 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 中的某些文本不被删除或更改”。

感谢和更多的力量!

4

1 回答 1

2

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

richTextBox.Rtf = ...;
richTextBox.SelectAll(); or richTextBox.Select(start, length)//Select that line
richTextBox.SelectionProtected = true;
richTextBox.SelectionLength = 0;
于 2013-10-24T12:08:20.197 回答