我有一个关于小程序外观的设计理念,它基本上是一个带有组合和一个按钮的窗体。我想做的是以下。当我点击该程序的.exe时启动它,我想有一个非标准的窗口启动。更具体的我会给你一个例子 - 我点击.exe,在屏幕上随机出现一些点,在这些点出现后,它们开始以螺旋方式移动,所以最后它们合并到标准的方形窗口形状形状。所以我的问题是 - 是否有一个免费的API或任何类似的帮助,它很容易实现或将有很多我自己需要创建这些API的工作吗?
提前致谢
答案 0 :(得分:4)
这将非常困难。
最终用户也会非常讨厌。
答案 1 :(得分:4)
简而言之,我看到两个选择:
将表单渲染为位图,并将位图的peices渲染为全屏layered window。您必须反复调用UpdateLayeredWindow
才能使动画正常工作,但这应该是一个很好的领导。我可以看到用这种方法得到10-20 fps。
获取桌面的屏幕截图,创建一个全屏无边框最顶层窗口,渲染屏幕截图,然后将动画渲染到顶部。这将阻止任何其他窗口在播放动画时接收输入。
无论哪种方式,您的用户都会讨厌您。
答案 2 :(得分:1)
正如SLaks已经说过的那样,这对最终用户来说非常烦人。
如果你问它是否可行,我会说是的,编程中的一切都是可行的,这一切都取决于你准备投入的努力。
作为一个非常简单的算法,以下是我将为您的成就所采取的一些步骤:
System.Windows.Forms.Form
; Form.ShowInTaskBar
= false
; Form.TransparencyKey
属性; Form.ControlBox
= false
; Form.TopMost
= true
; Form
; PictureBox
控件
Form.Load
事件中,截取当前桌面的屏幕截图,并将其设置为PictureBox
的图片。animated GIF
,并将其叠加到您的表单中。我想,您很可能会欣赏以下关于C# Winforms Animation
。
免责声明:这是我头脑中的任意算法。此外,我说明了为实现这一目标我将要经历的步骤,尽管我从未进行过WindowsForms动画。
这可能很酷,编程,用户是保守派,并且“总是对计划初创公司感到焦虑”,所以,正如已经提到的,这对最终用户来说可能会变得非常烦人。
我希望无论如何这会帮助你!