我有一個所有者繪製的UserControl,我實現了雙緩衝。爲了獲得雙緩衝無頻閃工作,我必須覆蓋OnPaintBackground事件,如下所示:在C#/ .NET 2.0中控制雙緩衝自繪用戶控件的設計器外觀
protected override void OnPaintBackground(PaintEventArgs e)
{
// don't even have to do anything else
}
這在運行時的偉大工程。問題是,當我在設計時在窗體上有一個控件的實例時,它會變成一個黑洞,顯示任何窗口拖過它的路徑(因爲OnPaintBackground事件的重寫也控制着設計時的外觀)。這只是一個表面上的問題,但它在視覺上有些震撼,它總是讓項目的新開發人員承擔一些可怕的錯誤。
是否有任何方法可以在設計時重寫這樣的重寫方法,或者是否有其他解決方案?
是有一些原因,你不能使用內置的雙緩衝? – 2008-11-16 02:34:38
是的 - 它不起作用。如果您使用DoubleBuffered = true創建用戶控件,然後對其執行一堆繪圖操作,則會出現閃爍。我真的不確定那是什麼財產。 – MusiGenesis 2008-11-16 02:45:14