我有一個winform,我加載了一個包含其他用戶控件的用戶控件。 我每次都進入到諾特爾選項卡,並返回到用戶控制3個控制裏面閃爍甚至befor任何事件觸發。爲什麼我的WinForm控件在繪畫事件之前控制閃爍?
我試過每一件事情,包括:
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.DoubleBuffer, true);
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(ControlStyles.ResizeRedraw, true);
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
和
protected override CreateParams CreateParams
{
get
{
CreateParams baseParams = base.CreateParams;
baseParams.ExStyle |= 0x0200000;
return baseParams;
}
}
和
protected override CreateParams CreateParams
{
get
{
CreateParams baseParams = base.CreateParams;
baseParams.ExStyle &= 0x0200000;
return baseParams;
}
}
但沒有什麼幫助...的閃爍情況befor任意代碼運行... 有什麼問題?
是否當您運行在調試模式下項目這只是發生的呢?過去我曾遇到類似的問題,但在發佈模式和/或Visual Studio之外運行時,它們不是問題。另一個不太可能的問題可能是您的顯示適配器驅動程序,我已經看到這是以前的問題,但承認只有一次。 – XN16
給定的信息非常不足以診斷閃爍問題。當你在用戶控件中這樣做時,黑客WS_EX_COMPOSITED無法工作,它必須是在頂級窗口中打開的樣式標誌。表格。 –
我比較調試,但它甚至發生只運行Visual Studio以外的exe文件。 –