这是RichTextBox类中的一个疏忽。其他控件(如ListBox)支持BeginUpdate和EndUpdate方法来禁止绘画。这些方法生成WM_SETREDRAW消息。实时出价实际上支持此消息,但是他们忘记添加方法。
自己添加即可。项目+添加类,粘贴下面显示的代码。编译并将控件从工具箱的顶部拖放到窗体上。
using System;using System.Windows.Forms;using System.Runtime.InteropServices;class MyRichTextBox : RichTextBox { public void BeginUpdate() { SendMessage(this.Handle, WM_SETREDRAW, (IntPtr)0, IntPtr.Zero); } public void EndUpdate() { SendMessage(this.Handle, WM_SETREDRAW, (IntPtr)1, IntPtr.Zero); this.Invalidate(); } [Dllimport("user32.dll")] private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp); private const int WM_SETREDRAW = 0x0b;}或在更新文本之前/之后直接P /调用SendMessage。



