我的RichTextBox遇到了这个问题:如果我没有激活拼写检查器一切正常,如果我激活拼写检查器并且RichTextBox控件不需要滚动条,一切顺利,但如果我激活拼写检查器,当拼写错误的下划线开始时,文本开始闪烁时需要滚动条。
我已经阅读了很多关于DoubleBuffered属性但我无法在RichtextBox中访问它,即使我尝试了:
public static void SetDoubleBuffered(RichTextBoxcontrol)
{
// set instance non-public property with name "DoubleBuffered" to true
typeof(RichTextBox).InvokeMember("DoubleBuffered",
BindingFlags.SetProperty | BindingFlags.Instance | BindingFlags.NonPublic,
null, control, new object[] { true });
}
我也试过访问CreateParams,但我的控件是在System.Windows.Controls.Page中,并且没有CreateParams属性:
protected override CreateParams CreateParams
{
get
{
if (originalExStyle == -1)
originalExStyle = base.CreateParams.ExStyle;
CreateParams cp = base.CreateParams;
if (enableFormLevelDoubleBuffering)
cp.ExStyle |= 0x02000000; // WS_EX_COMPOSITED
else
cp.ExStyle = originalExStyle;
return cp;
}
}
有没有人知道如何解决闪烁问题?
谢谢!