RichTextBox语法实时突出显示 - 禁用重绘
我正在创建一个带有RichTextBox的函数,并且可以访问关键字列表和'badwords'。我需要突出显示我在用户输入时在RichTextBox中找到的任何关键字和坏词,这意味着每次发布编辑键时都会调用该函数。
我写过这个函数,但是框中的文字和光标闪烁得太过舒适。
我发现了一个解决方案 - 在我编辑和格式化文本时禁用RichTextBox重绘自身的能力。但是,我知道这样做的唯一方法是覆盖“WndProc”函数并拦截(我将要收集的内容)重绘消息如下:
protected override void WndProc(ref System.Windows.Forms.Message m){ if (m.Msg == 0x00f) { if (paint) base.WndProc(ref m); else m.Result = IntPtr.Zero; } else base.WndProc(ref m);}
布尔突出'paint'在我开始突出显示之前设置为false,在我完成时设置为true。但正如我所说,我制作的函数必须采用RichTextBox; 我不能使用子类。
那么,有没有办法禁止从外部自动重新绘制RichTextBox?
慕雪6442864
相关分类