Winform的DropShadow效果很慢?

时间:2011-08-18 12:39:58

标签: .net windows winforms

我通过覆盖CreateParams属性将Drop Shadow效果应用于我的无边界胜利表格,但它也可以正常工作但我不知道为什么在移动表格时它会减慢应用程序的速度。< / p>

我的代码:

 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;
        }
    }

1 个答案:

答案 0 :(得分:2)

CS_DROPSHADOW创建一个透明区域。将阴影与下面的任何内容混合然后渲染它需要花费更多的时间。在Windows 2000 / XP上尤其如此。我认为他们在Windows Vista / 7中提高了透明度的性能。

此样式最初用于菜单等无法由用户移动的内容。因此,CS_DROPSHADOW的表现可能不是主要关注点。