2011-08-18 130 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