Windows Forms高级视觉效果

时间:2010-10-21 17:46:27

标签: c#

我有一个关于小程序外观的设计理念,它基本上是一个带有组合和一个按钮的窗体。我想做的是以下。当我点击该程序的.exe时启动它,我想有一个非标准的窗口启动。更具体的我会给你一个例子 - 我点击.exe,在屏幕上随机出现一些点,在这些点出现后,它们开始以螺旋方式移动,所以最后它们合并到标准的方形窗口形状形状。所以我的问题是 - 是否有一个免费的API或任何类似的帮助,它很容易实现或将有很多我自己需要创建这些API的工作吗?

提前致谢

3 个答案:

答案 0 :(得分:4)

这将非常困难。

最终用户也会非常讨厌。

答案 1 :(得分:4)

简而言之,我看到两个选择:

  • 将表单渲染为位图,并将位图的peices渲染为全屏layered window。您必须反复调用UpdateLayeredWindow才能使动画正常工作,但这应该是一个很好的领导。我可以看到用这种方法得到10-20 fps。

  • 获取桌面的屏幕截图,创建一个全屏无边框最顶层窗口,渲染屏幕截图,然后将动画渲染到顶部。这将阻止任何其他窗口在播放动画时接收输入。

无论哪种方式,您的用户都会讨厌您。

答案 2 :(得分:1)

正如SLaks已经说过的那样,这对最终用户来说非常烦人。

如果你问它是否可行,我会说是的,编程中的一切都是可行的,这一切都取决于你准备投入的努力。

作为一个非常简单的算法,以下是我将为您的成就所采取的一些步骤:

  1. 创建System.Windows.Forms.Form;
  2. 设置Form.ShowInTaskBar = false;
  3. 设置Form.TransparencyKey属性;
  4. 设置Form.ControlBox = false;
  5. 设置Form.TopMost = true;
  6. Form;
  7. 上放置PictureBox控件
  8. Form.Load事件中,截取当前桌面的屏幕截图,并将其设置为PictureBox的图片。
  9. 然后,构建一个animated GIF,并将其叠加到您的表单中。
  10. 我想,您很可能会欣赏以下关于C# Winforms Animation

    的链接
      

    免责声明:这是我头脑中的任意算法。此外,我说明了为实现这一目标我将要经历的步骤,尽管我从未进行过WindowsForms动画。

    这可能很酷,编程,用户是保守派,并且“总是对计划初创公司感到焦虑”,所以,正如已经提到的,这对最终用户来说可能会变得非常烦人。

    我希望无论如何这会帮助你!