问题描述
本人是新手,现在做KTV项目,需要从第一个窗体跳到第二个窗体时,有动态效果,谢谢各位大哥大姐帮忙解决一下,小弟在这里感谢了!!!
解决方案
解决方案二:
怎么ktv的项目老火了。下面几个链接下个项目自己去玩玩
解决方案三:
引用1楼xx_mm的回复:
怎么ktv的项目老火了。http://topic.csdn.net/u/20120303/12/e6bf630d-5b6f-47f2-947b-d9ec1e244c7e.html?77755下面几个链接下个项目自己去玩玩
据我了解,这貌似是北大青鸟的第一学期的毕业项目。我勒个去。。。
解决方案四:
动态效果?lz,想要什么样的动态效果?不妨加一个进度条,但。。。。这样一来的话,那。。。就不符合现实生活的KTV系统了。
解决方案五:
先找个地方声明如下的Win32API://--窗体动画--///*1.AW_SLIDE:使用滑动类型,默认为该类型.当使用AW_CENTER效果时,此效果被忽略2.AW_ACTIVE:激活窗口,在使用了AW_HIDE效果时不可使用此效果3.AW_BLEND:使用淡入效果4.AW_HIDE:隐藏窗口5.AW_CENTER:与AW_HIDE效果配合使用则效果为窗口几内重叠,单独使用窗口向外扩展.6.AW_HOR_POSITIVE:自左向右显示窗口7.AW_HOR_NEGATIVE:自右向左显示窗口8.AW_VER_POSITVE:自顶向下显示窗口9.AW_VER_NEGATIVE:自下向上显示窗口*/publicconstInt32AW_HOR_POSITIVE=0x00000001;//从左向右显示publicconstInt32AW_HOR_NEGATIVE=0x00000002;//从右向左显示publicconstInt32AW_VER_POSITIVE=0x00000004;//从上到下显示publicconstInt32AW_VER_NEGATIVE=0x00000008;//从下到上显示publicconstInt32AW_CENTER=0x00000010;//从中间向四周publicconstInt32AW_HIDE=0x00010000;//隐藏显示publicconstInt32AW_ACTIVATE=0x00020000;//普通显示publicconstInt32AW_SLIDE=0x00040000;//滑动显示publicconstInt32AW_BLEND=0x00080000;//透明渐变显示privateconstintDURATION_OF_TIME=600;//效果持续时间[DllImport("user32.dll",EntryPoint="AnimateWindow",ExactSpelling=true,SetLastError=true)]publicstaticexternboolAnimateWindow(IntPtrhwnd,intdwTime,intdwFlags);///<summary>///随机动画打开窗体///</summary>///<paramname="hwnd">窗体句柄</param>publicstaticvoidRandomAnimateOpenWindow(IntPtrhwnd){intanimateType=10;Randomrand=newRandom();intdwFlags=(int)rand.Next(animateType);switch(dwFlags){case0://普通显示//AnimateWindow(hwnd,DURATION_OF_TIME,AW_ACTIVATE);//透明渐变显示AnimateWindow(hwnd,DURATION_OF_TIME,AW_BLEND);break;case1://从左向右显示AnimateWindow(hwnd,DURATION_OF_TIME,AW_HOR_POSITIVE);break;case2://从右向左显示AnimateWindow(hwnd,DURATION_OF_TIME,AW_HOR_NEGATIVE);break;case3://从上到下显示AnimateWindow(hwnd,DURATION_OF_TIME,AW_VER_POSITIVE);break;case4://从下到上显示AnimateWindow(hwnd,DURATION_OF_TIME,AW_VER_NEGATIVE);break;case5://透明渐变显示AnimateWindow(hwnd,DURATION_OF_TIME,AW_BLEND);break;case6://从中间向四周AnimateWindow(hwnd,DURATION_OF_TIME,AW_CENTER);break;case7://左上角伸展AnimateWindow(hwnd,DURATION_OF_TIME,AW_SLIDE|AW_HOR_POSITIVE|AW_VER_POSITIVE);break;case8://左下角伸展AnimateWindow(hwnd,DURATION_OF_TIME,AW_SLIDE|AW_HOR_POSITIVE|AW_VER_NEGATIVE);break;case9://右上角伸展AnimateWindow(hwnd,DURATION_OF_TIME,AW_SLIDE|AW_HOR_NEGATIVE|AW_VER_POSITIVE);break;case10://右下角伸展AnimateWindow(hwnd,DURATION_OF_TIME,AW_SLIDE|AW_HOR_NEGATIVE|AW_VER_NEGATIVE);break;}}///<summary>///淡入动画打开窗体///</summary>///<paramname="hwnd">窗体句柄</param>publicstaticvoidAnimateOpenWindow(IntPtrhwnd){AnimateWindow(hwnd,DURATION_OF_TIME,AW_BLEND|AW_ACTIVATE);}///<summary>///淡出动画关闭窗体///</summary>///<paramname="hwnd">窗体句柄</param>publicstaticvoidAnimateCloseWindow(IntPtrhwnd){AnimateWindow(hwnd,DURATION_OF_TIME,AW_BLEND|AW_HIDE);}
然后再做个窗体基类,并调用上述的动画窗体的API:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingCodingMouse.MMP.ClassLibrary.Classes;namespaceCodingMouse.MMP.ControlLibrary.Forms{publicpartialclassBaseForm:Form{publicBaseForm(){InitializeComponent();}///<summary>///窗体加载事件///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidBaseForm_Load(objectsender,EventArgse){//淡入动画打开窗体Win32.AnimateOpenWindow(this.Handle);}///<summary>///窗体关闭事件///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidBaseForm_FormClosing(objectsender,FormClosingEventArgse){//淡出动画关闭窗体Win32.AnimateCloseWindow(this.Handle);}}}
这样你继承这个窗体基类的所有窗体实例都就有动画效果了,具体采用哪种效果你换下API调用方法即可:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.IO;usingSystem.Windows.Forms;usingSystem.Configuration;usingSystem.Diagnostics;usingCodingMouse.MMP.UI.Common;usingCodingMouse.MMP.ClassLibrary.Classes;namespaceCodingMouse.MMP.UI.Forms{///<summary>///用户登录界面///</summary>publicpartialclassfrmLogin:CodingMouse.MMP.ControlLibrary.Forms.BaseForm{}}
调用Win32API实现窗体动态效果在各类语言中方法都是通用的,以前我在VFP中也这样使用,现在在C#还是一个样。
解决方案六:
引用4楼codingmouse的回复:
先找个地方声明如下的Win32API:C#code//--窗体动画--///*1.AW_SLIDE:使用滑动类型,默认为该类型.当使用AW_CENTER效果时,此效果被忽略2.AW_ACTIVE:激活窗口,在使用了AW_HIDE效果时不可使用此效果3.A……
不错,学习了!