2011-08-18 60 views
0

我通過覆蓋CreateParams屬性將陰影效果應用到我的無邊界贏取窗體,它也可以很好地工作,但我不知道爲什麼它會在我移動窗體時減慢應用程序的速度。Winform的DropShadow效果很慢?

我的代碼:

private const int CS_DROPSHADOW = 0x20000; 
    protected override CreateParams CreateParams 
    { 
     get 
     { 
       CreateParams parameters = base.CreateParams; 
       if (OSFeature.IsPresent(SystemParameter.DropShadow)) 
       { 
        parameters.ClassStyle |= CS_DROPSHADOW; 
       } 
       return parameters; 
     } 
    } 

回答

2

CS_DROPSHADOW創建的透明區域。將下拉陰影與可能在下面的任何東西混合然後渲染它需要很多時間。在Windows 2000/XP上尤其如此。我認爲他們在Windows Vista/7中提高了透明度的性能。

這種風格最初是爲菜單等東西,用戶不能移動的東西。因此CS_DROPSHADOW的性能可能不是主要關注的問題。

+0

那麼你可以幫助我以任何其他方式將陰影效果應用於我的winform嗎? – SharpUrBrain