我有一个带有Web浏览器控件的窗体应用程序,当我重新加载Web浏览器上的任何页面时简单控制我的应用程序闪烁的标题,这很奇怪,因为我使用该代码来减少闪烁尽可能多的为:Webbrowser闪烁问题
public Form1()
{
InitializeComponent();
//SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, false);
this.SetStyle(ControlStyles.Opaque, false);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
}
int originalExStyle = -1;
bool enableFormLevelDoubleBuffering = true;
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;
}
}
private void TurnOffFormLevelDoubleBuffering()
{
enableFormLevelDoubleBuffering = false;
}
private void Form1_Load(object sender, EventArgs e)
{
TurnOffFormLevelDoubleBuffering();
}
**它闪烁安装IE8仅当,但如果安装了IE9那么它不闪烁。 “
也许这是IE浏览器版本的浏览器控件中的一个错误? – 2012-03-22 12:41:17
也许我只是想弄清楚为什么它闪烁 – 2012-03-22 12:43:20
IE是否表现出相同的行为? – 2012-03-22 12:51:00