首先我們需要重新建立一個Panel類,其繼承系統自帶的Panel類,然後充新寫一個構造函數,對其中的部分樣式進行更改。
代碼:
public class NewPanel:Panel
{
public NewPanel()
{
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
this.SetStyle(ControlStyles.UserPaint, true);
}
}
然後在視窗初始化的代碼塊中更改為我們目前建立的Panel類即可,其它代碼都不必用~。
個人認為是非常棒的一種解決方案,可以完全解決閃爍的問題。